天天看點

ztree控制節點是否能夠被選中(點選)

        在我們使用ztree的開發中,難免會遇到生成的樹形節點,有一些是不允許被點選或者不讓使用者使用的節點。我們可以通過ztree中的回調函數 beforeClick進行控制,傳回false則不能選中。

        特别注意:如果傳回 false,zTree 将不會選中節點,也無法觸發 onClick 事件回調函數

1、初始化樹内容的部分。其他屬性暫不做解釋。

function initTree(){
    // 擷取資料,對資料進行處理
	var data = getData(); // 方法名根據需要命名
	
    $.fn.zTree.init($("#shwoZtree"), {
            view:{showIcon:true},
            data:{key:{url:'noUrl'}, simpleData:{enable: true, idKey:'uuid', pIdKey:'parentId'}},
            callback: { beforeClick: beforeClick}
        }, data);
    }

function getData(){
    ............
}
           

2、通過回調函數完成對節點是否允許點選的控制

// 假設type 為treeNode中的屬性,值有0,1,2 下面的方法則表示:type為1的節點不能被選中
function beforeClick(treeId, treeNode, clickFlag){
    if (treeNode) {
        if(treeNode.type == 1){ 
            return false;
        }else {
            return true;
        }
    }
}
           

具體的實作根據需求而定。