Extjs Treepanel - 如何删除树的根
Posted
技术标签:
【中文标题】Extjs Treepanel - 如何删除树的根【英文标题】:Extjs Treepanel - How to delete root of a tree 【发布时间】:2013-07-10 07:15:44 【问题描述】:我有一个带有本地数据的树形面板
root:
text: 'root',
children: [
text: "child"
leaf: true
]
....
首先:我想删除树的根。我尝试下面的代码,但不适用于 root。但是,这适用于另一个节点 (node.remove(true)
)
tree.getRootNode().remove(true);
第二:我想删除所有树(我认为这就像删除根?) 我该怎么做谢谢:)
【问题讨论】:
【参考方案1】:陈述于Ext doc,Ext.dataNodeInterface.remove
:
从它的父节点中移除这个节点
根节点没有父节点,所以remove
不起作用。但是,要从树形面板中删除整棵树,您可以尝试:
treepanel.setRootNode(null);
我创建了一个plunk 来展示一些您可能感兴趣的示例。
【讨论】:
我使用 setRootNode(null);但它不适用于 extjs 4.1 :( @freestyle 我更新了我的 plunk plnkr.co/edit/ceV5caP50nTi0OYV1YCm 以使用 4.1.0,它按预期工作。你能创建一个 plunk 或 jsfiddle 来显示什么不适合你吗? 在你的小提琴中,我单击按钮,整个树被删除,但树面板添加了一个虚拟根节点。这是你的问题吗?您可以将rootVisible
设置为 false 以隐藏根节点。或者,您能说明您从树形面板中删除树的目的吗?也许有更好的方法来实现最终结果。
我尝试使用树形面板,但我遇到了上述问题。我认为解决我将 rootVisible 设置为 false 的问题是正确的。谢谢你:)以上是关于Extjs Treepanel - 如何删除树的根的主要内容,如果未能解决你的问题,请参考以下文章
如何在extjs 4.1中的treePanel中移动节点标签的复选框结尾
ExtJs基础知识总结:DomIFrame和TreePanel