js修改zTree没有子项的节点图标为文件夹的方法

这里写图片描述

有时候,我们加载的zTree是这样的,箭头所指的节点没有子节点,所以显示白色的图标。

但现在我们这个节点代表其实的不是一个子节点,而是代表一个空目录(这里通过node的sou属性来区分),如何让它显示成文件夹图标呢?

其实,只要找到这些代表目录的节点,设置他们的isParent属性为true,再调用api的refresh方法就行了。

具体代码如下:

$.fn.zTree.init($("#pageTree"), setting, zNodes);//初始化tree
fixIcon();//调用修复图标的方法。方法如下:

//修正zTree的图标,让文件节点显示文件夹图标
function fixIcon(){
    var treeObj = $.fn.zTree.getZTreeObj("pageTree");
    //过滤出sou属性为true的节点(也可用你自己定义的其他字段来区分,这里通过sou保存的true或false来区分)
    var folderNode = treeObj.getNodesByFilter(function (node) { return node.sou});
    for(j=0 ; j<folderNode.length; j++){//遍历目录节点,设置isParent属性为true;
        folderNode[j].isParent = true;
    }
    treeObj.refresh();//调用api自带的refresh函数。
}

经过这样处理后,效果如下:
这里写图片描述

虽然fdsa下面没有子节点,但是仍可以显示文件夹样式的图标。

本文介绍的方法不需要修改样式之类的操作。

猜你喜欢

转载自blog.csdn.net/thezprogram/article/details/77526752
今日推荐