天天看点

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;
        }
    }
}
           

具体的实现根据需求而定。