崩溃时重置树节点

时间:2013-02-19 22:49:16

标签: extjs4

我有一个树状面板,其节点是从服务器动态加载的。当用户展开节点时,它将从服务器加载该节点的子节点并将它们添加到该节点。这部分正在运作。

当用户折叠节点时,我想从该节点中删除所有子节点并“重置”节点,以便可以再次扩展节点。

到目前为止,我在崩溃事件处理程序中有以下内容:

function(node){
    node.removeAll(); // remove all child nodes
                      // this causes the expand arrow to disappear

    node.expandable = true;
    // ... now what?
}

如何“重置”节点(“...现在是什么?”),以便视图知道再次添加展开箭头?

基本上我想要折叠然后重新扩展节点以重新加载该节点下的所有子节点。

1 个答案:

答案 0 :(得分:0)

解决方案是将loaded字段设置为false。 “扩展”属性不需要更改。

最终的解决方案是:

function(node){
    node.removeAll(); // remove all child nodes
    node.set('loaded', false); // tell node it can be expanded again
}