ztree加载完成后根据返回值选中ztree相应的CheckBox

思路:在ztree树加载完成之后,根据接口的返回值选遍历返回值,然后查找数的id然后选中

  var setting = {
            view: {
                showIcon: function(treeId, treeNode){return !treeNode.isParent;},
                dblClickExpand: true,       // true双击打开节点
                selectedMulti: false,
                autoCancelSelected: false,
                expandSpeed: "normal"
            },
            check: {
                enable: true,
                chkStyle: "checkbox",
                autoCheckTrigger: true,
                chkboxType: { "Y" : "ps", "N" : "ps" }

            },
            data: {
                simpleData: {
                    // enable: true
                },
                key: {
                    name: "Mname",
                }
            },
            callback:{ //回调函数
                onCheck:function(event,treeId,treeNode){
                    console.log(treeNode)
                }
            },
        };
        var zNodes = getPower();        // 获取数据
        var zTreeObj = $.fn.zTree.init($("#ztree"), setting, zNodes);
        
        if(getCheckCode != undefined){
            // 第一次进入不会打开,点击 查看权限,默认打开
            zTreeObj.expandAll(true);
            // ztree树加载完成之后,调用这个方法
            checkMaterial()
        }

第二步:遍历 从接口获取到的数据,遍历数据,通过id查找节点,然后将节点的 check属性改为true

function checkMaterial(){
        var ret = getRoleMenuList(id)
        var treeObj = $.fn.zTree.getZTreeObj("ztree");
        if(ret !='' && ret.length>0){
            var nodes = treeObj.getNodes();//获取所有子节点
            for(var i = 0; i < ret.length; i++){
                //通过id查找节点
                var node = treeObj.getNodeByParam("classId",ret[i].id,null);
                //先判断节点是否为空
                if(node !=null){
					 //选中该节点
                    treeObj.checkNode(node,true,true);
                    //获取该节点父节点
					 var parent = node.getParentNode();
		             if(!parent.open){//如果父节点没有展开则展开父节点
		            	 treeObj.expandNode(parent,true,true);
		             }
                }
            }
        }
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值