ExtJS 将子节点添加到一个空的异步树节点
Posted
技术标签:
【中文标题】ExtJS 将子节点添加到一个空的异步树节点【英文标题】:ExtJS adding children to an empty async treenode 【发布时间】:2011-06-16 14:10:35 【问题描述】:我注意到,在 ExtJS(版本 3)中,如果您创建一个异步树节点,然后刷新页面,则生成的节点将不允许将子节点移动/添加到其中。在尝试拖放节点时,文本变为斜体,而没有任何进一步的信息被记录到控制台,并且移动的节点移回其原始位置。
这似乎有点奇怪,因为如果您创建一个新的异步节点然后添加一个子节点而不刷新页面,则添加该节点没有问题。
进一步检查,刷新页面时,生成的节点配置显示为:loaded: false
,而如果您创建节点但不刷新页面,则显示为 loaded: true
。
有没有办法强制异步树节点加载,即使它没有任何子节点?
谢谢
【问题讨论】:
一个实际的工作示例 (sencha.com/learn/Ext_Forum_Help#Posting_a_working_showcase) 会鼓励您回答您的问题。 【参考方案1】:键是一个“叶子”参数。如果目标节点具有叶子:真,您将无法删除项目。
您可以尝试为您的叶节点指定leaf:false, loaded:true
。在这种情况下,loaded:true
被指定为在叶节点旁边不显示箭头或加号。
【讨论】:
leaf 参数设置为 false,这是一个难题。这个节点和另一个节点之间的唯一区别是loaded:true。除了不显示箭头之外,显式设置此参数似乎没有任何区别。嗯。【参考方案2】:对于任何有类似问题的人,他们无法将子节点放在空的异步树节点上...
我不得不使用的解决方法是附加一个虚拟节点以强制加载异步树节点,然后在加载异步树节点后删除虚拟节点。略微复杂,但防止修改核心。
【讨论】:
以上是关于ExtJS 将子节点添加到一个空的异步树节点的主要内容,如果未能解决你的问题,请参考以下文章
Scenekit - 将子节点(平面节点)添加到相机前面的父节点(球体节点)
QTreeView 使用示例 - 如何将子节点添加到现有项目?