
## 接下来你若刷新你修改的部分的话,修改一般使用了 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()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)