1

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

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

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

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

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

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

本质上,我想要折叠然后重新展开一个节点以重新加载该节点下的所有子节点的过程。

4

1 回答 1

0

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

最终解决方案是:

function(node){
    node.removeAll(); // remove all child nodes
    node.set('loaded', false); // tell node it can be expanded again
}
于 2013-02-20T19:59:39.407 回答