在ztree里怎么修改一个节点然后树上只刷新我修改的部分

在ztree里怎么修改一个节点然后树上只刷新我修改的部分,第1张

var zTree = $.fn.zTree.getZTreeObj('tree') // 获取zTree对象,tree是你存放ztree的容器id

## 接下来你若刷新你修改的部分的话,修改一般使用了 beforeRename 或 onRename

##1、upDateNode(node)// 此方法更新单个节点,需要注意的是,发现这个方法必须要在ajax或是post之类的请求中才能刷新成功。

比如第一种情况,直接调用:

beforeRename(treeid,node,newName){

var zTree = $.fn.zTree.getZTreeObj('tree')

node.name = newName + "123" // 此处手动修改了node的名字

zTree.upDateNode(node) // 执行完会发现并没有刷新出来,打印node发现名字确实改了。

}

第二种情况,套在ajax中使用:

beforeRename(treeid,node,newName){

$.post(url,{},function(){

var zTree = $.fn.zTree.getZTreeObj('tree')

node.name = newName + "123" // 此处手动修改了node的名字

zTree.upDateNode(node) // 执行完节点名字刷新成功

})

}

##2、reAsyncChildNodes(node,type,open)// 此方法更新node节点及其子节点,node参数传null时更新整个树,用法跟上面一样,主要说明另两个参数:

type:直接传refresh 相当于清空后重新加载一下,变相刷新,一般用于修改过子节点。 不等于refresh时一般用于新增过子节点,

open:true时不展开该节点,不等于true或不传默认是展开

zTree 树节点修改,修改其节点的父级,修改完成之后刷新树。

updateNode只能修改 name、target、 url、icon、 iconSkin、checked、nocheck 等这几个用于显示效果的参数进行更新。

还有没有什么方法,修改其父节点后刷新树???

方案:

可以先对节点进行updateNode修改 *** 作,在将其节点进行moveNode移动就可以的了。

$.fn.zTree.init($("#treeDemo"), setting, zNodes)

zTree = $.fn.zTree.getZTreeObj("treeDemo")

var nodes=zTree.getNodes()

var nodes_array = zTree.transformToArray (nodes)

for(var i=0i<nodes_array.lengthi++){

alert(nodes_array[i].name)

}

//下面是api,自己不会看么,zTreeObj.getNodes是所有节点数据都在里面,自己不会取,就不要瞎叫唤,自己可以用火狐看里面的数据是不是都有

zTreeObj.getNodes

概述[ 依赖 jquery.ztree.core 核心 js ]

获取 zTree 的全部节点数据

请通过 zTree 对象执行此方法。

Function 参数说明

返回值Array(JSON)

全部节点数据

1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下);

2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合

3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。

function 举例

1. 获取全部节点数据

var treeObj = $.fn.zTree.getZTreeObj("tree")

var nodes = treeObj.getNodes()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10850941.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存