2013-02-19 51 views
1

我有一个树型面板,其节点从服务器动态加载。当用户展开一个节点时,它将从服务器加载该节点的子节点并将它们添加到该节点。这部分工作。崩溃时重置树节点

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

到目前为止,我已经在崩溃的事件处理程序如下:

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

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

如何“重置”节点(“......现在怎么办?”),这样的看法知道添加再次展开箭头?

本质上我想要崩溃然后重新展开一个节点来重新加载该节点下的所有子节点的过程。

回答

0

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

最终溶液是:

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