Tmiracle

ztree 手风琴效果实现

在ztree的setting中配置:

view: {
    dblClickExpand: false,
},
callback: {
    beforeClick: function (treeId, treeNode, clickFlag) {
        // 过滤查找所有符合条件的节点
        var nodes = zTreeNodes.getNodesByFilter(function (node) {
            // 条件:除当前节点的所有父节点(包括自己)以外
            return !treeNode.getPath().includes(node);
        });
        // 遍历关闭节点
        for (let item of nodes) {
            zTreeNodes.expandNode(item, false, true, false, true);
        }
        // 如果该节点是父节点,则展开/折叠
        if (treeNode.isParent) {
            zTreeNodes.expandNode(treeNode);
            return false;
        }
    }
}
所属标签: