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

本文介绍了一种方法,可以在zTree中将没有子节点但代表空目录的节点显示为文件夹图标,只需设置isParent属性为true并刷新树即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

有时候,我们加载的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下面没有子节点,但是仍可以显示文件夹样式的图标。

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值