首页 前端知识 zTree常用操作

zTree常用操作

2024-04-21 10:04:19 前端知识 前端哥 273 141 我要收藏

目录

        • 取消选中和取消勾选所有节点
        • 全部选中所有的节点
        • 修改节点
        • 删除节点
        • 得到当前节点的父节点
        • 自动点击某节点
        • 找到当前节点的根节点
        • 递归查询当前节点下面的全部子节点
        • 得到树的所有叶子结点id列表
        • 设置不允许勾选父节点
        • checkbox设置父子联动
        • 取消选中某个节点

取消选中和取消勾选所有节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
treeObj.cancelSelectedNode(); // 取消选中的所有节点
treeObj.checkAllNodes(false); // 取消勾选的所有节点
全部选中所有的节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var node = treeObj.getNodes(); // 得到全部节点
var nodes = treeObj.transformToArray(node); // 全部节点转换成数组array
var checkNode = treeObj.getCheckedNodes().length; // 得到被选中的节点数量
if (checkNode < nodes.length) { // 已选中的节点数小于总数 - 全选
    treeObj.checkAllNodes(true); // 给全部节点设置为true
} else{
    treeObj.checkAllNodes(false); // 给全部节点设置为false
}
修改节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree"); // 取zTree对象
var treeNode = treeObj.getNodeByParam("id", node.id); // 根据id找到要修改的树的节点
treeNode.name = node.name; // 为要修改的结点赋值
treeNode.type = node.type;
treeObj.updateNode(treeNode); // 更新该结点
删除节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
treeObj.removeNode(treeNode);
得到当前节点的父节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
var parentNode = treeNode.getParentNode();
自动点击某节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
$("#" + treeNode.tId + "_a").click();
找到当前节点的根节点
function findRoot(treeNode) {
    var parentNodes = treeNode.getPath();
    for(var key in parentNodes){
        if(parentNodes[key].level == 0){ // 根节点的level为0
            console.log("当前节点的跟节点:" + JSON.stringify(parentNodes[key]));
            return parentNodes[key];
        }
    }
}
递归查询当前节点下面的全部子节点
function getZTreeChildrenNode(treeNode, result) {
    if (treeNode.children != null) {
        var childrenNodes = treeNode.children;
        if (childrenNodes) {
            for (var i = 0; i < childrenNodes.length; i++) {
                result.push(childrenNodes[i]);
                result = getzTreeChildrenNode(childrenNodes[i], result);
            }
        }
    }
    return result;
}
得到树的所有叶子结点id列表
function getAllLeafNodeId(treeObj) {
    var leftIdList = new Array();
    $.each(treeObj.transformToArray(treeObj.getNodes()), function (key, node) {
        if (node.children == null || node.children.length == 0) {
            leftIdList.push(node.id);
        }
    });
    return leftIdList;
}
设置不允许勾选父节点
var setting = {
    callback: {
        beforeCheck: zTreeBeforeCheck
    }
}

function zTreeBeforeCheck(treeId, treeNode) {
    return !treeNode.isParent; // 返回false不允许选取
}
checkbox设置父子联动
// Y属性定义checkbox被勾选后的情况
// N属性定义checkbox取消勾选后的情况
// p表示操作会影响父级节点
// s表示操作会影响子级节点
var setting = {
    check: {
        enable: true,
        chkStyle: "checkbox",
        chkboxType: {"Y": "ps", "N": "ps"} // 表示父节点和子节点都受影响
    }
}
取消选中某个节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree"); // 取zTree对象
var treeNode = treeObj.getNodeByParam("id", node.id); // 根据id找到要修改的树的节点
treeObj.checkNode(treeNode, false, false, false); // 第三个参数false表示,勾选本节点,不会级联到子节点
转载请注明出处或者链接地址:https://www.qianduange.cn//article/5554.html
标签
评论
发布的文章

CSS(8)空间转换 动画

2024-04-29 12:04:29

CSS介绍(4)--背景属性

2024-04-29 12:04:26

Web学习记录---CSS(1)

2024-04-29 12:04:17

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!