其實(shí)Ztree官網(wǎng)已經(jīng)有詳細的API文檔,一切以官網(wǎng)上的說(shuō)明為準,我在此只是結合實(shí)踐總結幾條常用的ztree的功能特性.
(ztree的語(yǔ)法結構是基于key-value的形式配置)
1:支持異步加載數據
語(yǔ)法配置:
簡(jiǎn)要說(shuō)明:
enable :設置 zTree 是否開(kāi)啟異步加載模式.
url:Ajax 獲取數據的 URL 地址.
otherParam:Ajax 請求提交的靜態(tài)參數鍵值對.相當于ajax中的data參數.
2:加載數據并綁定,一般都是定義數據結構實(shí)體即model,此數據結構要包含層級關(guān)系通常包括:ID,父ID,Name.
然后配置語(yǔ)法:
或者
簡(jiǎn)要說(shuō)明:
simpleData:即可采用數組作為數據源綁定.此時(shí)異步加載的數據可為平行結構.
children: 指定節點(diǎn)數據中保存子節點(diǎn)數據的屬性名稱(chēng),此時(shí)異步加載的數據為樹(shù)的折疊結構;所以后端加載數據時(shí)要使用遞歸算法.
3:支持單選,復選功能
語(yǔ)法配置:
簡(jiǎn)要說(shuō)明:
enable:設置 zTree 的節點(diǎn)上是否顯示 checkbox / radio
chkStyle:勾選框類(lèi)型(checkbox 或 radio)
radioType:radio 的分組范圍
chkboxType:勾選 checkbox 對于父子節點(diǎn)的關(guān)聯(lián)關(guān)系
checked:為加載數據后復選框是否勾選.IsChecked為后端數據結構model中定義的字段.
4:支持添加子節點(diǎn),編輯節點(diǎn),刪除節點(diǎn)事件
我這里介紹如何采用自定義添加,編輯,刪除按鈕的方式
語(yǔ)法配置:
其中addHoverDom 函數為:
1 2 3 4 5 6 7 8 | 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 + ")'>添加子節點(diǎn)</a>";str+= "<a id='addBtn1_" + treeNode.id + "' onclick='自定義函數2(" + treeNode.DepartmentID + ")'>編輯節點(diǎn)</a>";str+= "<a id='addBtn2_" + treeNode.id + "' onclick='自定義函數3(" + treeNode.DepartmentID + ")'>刪除節點(diǎn)</a>";sObj.after(str);}; |
其中removeHoverDom函數為:
簡(jiǎn)要說(shuō)明:
addHoverDom:用于當鼠標移動(dòng)到節點(diǎn)上時(shí),顯示用戶(hù)自定義控件,顯示隱藏狀態(tài)同 zTree 內部的編輯、刪除按鈕
removeHoverDom:用于當鼠標移出節點(diǎn)時(shí),隱藏用戶(hù)自定義控件,顯示隱藏狀態(tài)同 zTree 內部的編輯、刪除按鈕
聯(lián)系客服