zTree外掛常鍵用法簡單介紹

螞蟻小編發表於2017-03-25

jQuery實現的無限極zTree外掛在實際應用中可以說隨處可見,足見它的方便之處。

關於它的用法有官方提供的API可以參閱,不過本章節這裡再囉嗦幾句,介紹一下它的一些常見操作。

一.支援非同步載入資料:

[JavaScript] 純文字檢視 複製程式碼
async:{
  enable: true,  
  url:'abc.ashx',
  otherParam: { "request": "requestname" }
}

引數說明:

enable :設定 zTree 是否開啟非同步載入模式.

url:Ajax 獲取資料的 URL 地址.

otherParam:Ajax 請求提交的靜態引數鍵值對.相當於ajax中的data引數.

二.載入資料並繫結:

一般都是定義資料結構實體即model,此資料結構要包含層級關係通常包括:ID,父ID,Name.

語法結構:

[JavaScript] 純文字檢視 複製程式碼
data: {
  simpleData: {
    enable: true
  }
}

也可以使用下面的方式:

[JavaScript] 純文字檢視 複製程式碼
data: {
  key: {
    children: "childrens",
    checked: "IsChecked"
  }
}

引數說明:

simpleData:即可採用陣列作為資料來源繫結.此時非同步載入的資料可為平行結構.

children:指定節點資料中儲存子節點資料的屬性名稱,此時非同步載入的資料為樹的摺疊結構;所以後端載入資料時要使用遞迴演算法.

三.支援單選,複選功能:

[JavaScript] 純文字檢視 複製程式碼
check: {
  enable: true,
  chkStyle: "checkbox",
  radioType: "all",
  chkboxType:{ "Y": "", "N": "" }
}
  
data: {
  key: {
    checked: "IsChecked"
  }
}

引數說明:

enable:設定 zTree 的節點上是否顯示 checkbox / radio

chkStyle:勾選框型別(checkbox 或 radio)

radioType:radio 的分組範圍

chkboxType:勾選 checkbox 對於父子節點的關聯關係

checked:為載入資料後核取方塊是否勾選.IsChecked為後端資料結構model中定義的欄位.

四.支援新增子節點,編輯節點,刪除節點事件:

語法結構:

[JavaScript] 純文字檢視 複製程式碼
view: {
  addHoverDom: addHoverDom,
  removeHoverDom: removeHoverDom
}

其中addHoverDom 函式為:

[JavaScript] 純文字檢視 複製程式碼
function addHoverDom(treeId, treeNode) {
  var sObj = $("#" + treeNode.tId + "_span");
  if ($("#addBtn_" + treeNode.id).length > 0) return;
  var str= "<a id='addBtn_"
  + treeNode.id + "' onclick='自定義函式1(" + treeNode.DepartmentID + ")'>新增子節點</a>";
  str+= "<a id='addBtn1_"
  + treeNode.id + "' onclick='自定義函式2(" + treeNode.DepartmentID + ")'>編輯節點</a>";
  str+= "<a id='addBtn2_"
  + treeNode.id + "' onclick='自定義函式3(" + treeNode.DepartmentID + ")'>刪除節點</a>";
  sObj.after(str);
};

其中removeHoverDom函式為:

[JavaScript] 純文字檢視 複製程式碼
function removeHoverDom(treeId, treeNode) {
  $("#addBtn_" + treeNode.id).unbind().remove();
  $("#addBtn1_" + treeNode.id).unbind().remove();
  $("#addBtn2_" + treeNode.id).unbind().remove();
};

簡單介紹:

addHoverDom:用於當滑鼠移動到節點上時,顯示使用者自定義控制元件,顯示隱藏狀態同 zTree 內部的編輯、刪除按鈕。

removeHoverDom:用於當滑鼠移出節點時,隱藏使用者自定義控制元件,顯示隱藏狀態同 zTree 內部的編輯、刪除按鈕。

相關文章