2012-09-22 69 views

回答

0

我可以看到這是前一陣子被問到的,但無論如何我會回答它,因爲我處於類似的情況。

這裏有幾個選項,具體取決於您是否希望根節點可點擊以及子節點完全顯示(在單擊root後),因爲它目前出現在您提供的示例上,或者如果您想要全部子節點也將被摺疊。

OPTION 1(僅根節點摺疊)

在其中在函數它是編碼與update(root);d3對象的初始化(做CTRL + ˚FCMD + ˚F)放入toggle(root)。變量名稱root根據給出的示例,您的版本和函數名稱可能會有所不同(因爲您尚未提供示例代碼來解決問題)。

OPTION 2(所有節點摺疊)

你做上面一樣,但選擇1之前新插入的toggle(root);你也把root.children.forEach(toggleAll);其中toggleAll是你還需要插入這是一個函數:

function toggleAll(d) { 
    if (d.children) { 
     d.children.forEach(toggleAll); 
     toggle(d); 
    } 
} 

替代選項

我有GI的選項並不僅限於上述內容。如果你按照brantolsen.github.com的這個例子(https://stackoverflow.com/a/11649427),你會發現實現你想要實現的其他例子。