easyui tree refresh 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui tree refresh 问题相关的知识,希望对你有一定的参考价值。

采用easyui实现树的异步加载,效果如图:

这个时候调用$("treeData").tree('reload');方法,刷新结果和上图一样,但是展开一个节点后,在调用这个方法,刷新的结果就只显示展开后的子节点,而不显示展开前存在的节点。比如展开管理员节点,效果如下:

这个时候调用reload方法,就只显示管理员的子节点,如下:

而本来要的想只展示根节点的效果没有出现

假设你的tree定义的时候的url是"urlA",在onBeforeExpand的时候是"urlB",那么reload这个tree的代码是这样的:

function treeReload()
    $("#tt").tree("options").url="urlA";
    $("#tt").tree("reload");


举例:
假如自定义的tree是这样的:

<ul id="tt" class="easyui-tree" data-options="
    url:"urlA",
    onBeforeExpand:function(node)
        $('#tt').tree('options').url="urlB";    //展开时发送请求去加载节点
    "></ul>
    
那么调用treeReload()方法就可以刷新这个tree了。其实就是把tree的加载子节点的url给赋值成根节点的url,然后reload。

参考技术A 假设你的tree定义的时候的url是"urlA",在onBeforeExpand的时候是"urlB",那么reload这个tree的代码是这样的:
123456789101112131415function treeReload() $("#tt").tree("options").url="urlA"; $("#tt").tree("reload"); 举例:假如自定义的tree是这样的: <ul id="tt" class="easyui-tree" data-options=" url:"urlA", onBeforeExpand:function(node) $('#tt').tree('options').url="urlB"; //展开时发送请求去加载节点 "></ul> 那么调用treeReload()方法就可以刷新这个tree了。其实就是把tree的加载子节点的url给赋值成根节点的url,然后reload。
参考技术B

展开节点之前记录节点,关闭删除记录的节点,reload之后就遍历得到的节点信息,然后通过expand方法展开节点。

onLoadSuccess:function()

var list=[];
for(var j=0;j<expnode.length;j++)
list.push(expnode[j])

$("#easytree").tree("collapseAll");
for(var i=0;i<list.length;i++)
var node = $('#easytree').tree('find', list[i]);
$('#easytree').tree('expand', node.target);

,
onBeforeExpand:function(node)
expnode.push(node.id.toString());
,
onBeforeCollapse:function (node) 
var i=expnode.indexOf(node.id.toString());
if(i>=0)
expnode.splice(i,1);

参考技术C 你是不是load整棵tree了,而且刷的是根节点追问

我想要的结果是load整棵树,load根节点。但是使用逐级加载,调用reload,加载的是最新展开那一级子节点。

追答

$("treeData").tree('reload');是在哪里调用的,应该加个target参数吧

参考技术D 哥们解决没?追问

指定target,确实可以实现刷新那个节点下的子节点。但是如果刷新的是一级节点,这些节点没有上级节点,这个时候的target怎么指定。

追答

试试看他的parent

以上是关于easyui tree refresh 问题的主要内容,如果未能解决你的问题,请参考以下文章

问大神们一个问题,easyui-tree多节点全部加载速度缓慢的解决办法?

vue关于this.$refs.tabs.refreshs()刷新组件,缓存

easyui tree 图标怎么换

easyui-tree扩展方法

easyui tree 折叠节点

easyui tree怎么获取所有节点