2017-10-07 136 views
0

我想在fancytree中設置節點的圖標。如何獲取fancytree中節點的所有子節點?

$("#tree").fancytree({ 
    // Image folder used for data.icon attribute. 
    imagePath: "skin-custom/", 
    // icon: false, 
    renderNode: function(event, data) { 
    // Optionally tweak data.node.span 
    var node = data.node; 
    // Some logic here 
    } 
}); 

我想經過該節點的孩子,如果他們全部選中,設置一個特定的圖標:我在網上的例子,我可以使用renderNode這樣做的發現。但是當我得到孩子的時候,我只能得到一級孩子,這意味着我沒有得到這個孩子的孩子。 有什麼辦法可以達到這個目的嗎? 在此先感謝

回答

1

renderNode回調僅在需求時調用,例如,新節點,當狀態改變時,或當調用node.renderStatus()時。

,如果你需要計算圖標,您可以使用icon option

$(...).fancytree({ 
    icon: function(event, data) { 
     return data.node.isSelected() ? "a" : "b"; 
    }, 
    ... 
}); 

您可以使用此模式來遍歷所有節點:

node.visit(function(n){ 
    console.log(n.isSelected()); 
}); 
+0

非常感謝您的回覆。我會確認圖標選項。我已經使用'node.visit(function(n){console.log(n.isSelected()); });'function。但它不會遍歷所有節點。它僅迭代根和第一級兒童。我不會回到根的孩子的孩子。但仍然非常感謝:) – arvind

+0

訪問方法將遍歷**所有**後代(當然除了卸載的懶惰節點) – mar10

相關問題