2017-10-07 213 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

相关问题