zTree删除完所有子节点图标不变化仍为目录图标

xiaohai 2021-05-10 19:26:50 1868人围观 标签: js 
简介zTree如果将节点下的所有子节点全部删除后,该目录的图标就会自动改变为文档图标,但是又不希望这个图标改变,那么怎么办呢?那么本文将记录如何处理这个问题。

为了满足这个功能需求,找了一遍文档没有什么配置可以直接实现该功能,那么就只能通过自己编写一个函数来实现该功能。

function flushIcon() {
    var folderNode = zTree.getNodesByFilter(function (node) {
        return node.isParent
    });
    for (j = 0; j < folderNode.length; j++) {//遍历目录节点,设置isParent属性为true;
        folderNode[j].isParent = true;
        folderNode[j].open = true;
    }
    zTree.refresh();//调用api自带的refresh函数。
}

调用:

function onDrop(event, treeId, treeNodes, targetNode, moveType, isCopy) {
    className = (className === "dark" ? "" : "dark");
    showLog("[ " + getTime() + " onDrop ]&nbsp;&nbsp;&nbsp;&nbsp; moveType:" + moveType);
    showLog("target: " + (targetNode ? targetNode.name : "root") + "  -- is " + (isCopy == null ? "cancel" : isCopy ? "copy" : "move"))
    flushIcon()
}