2013-02-19 49 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 
}