如何在fancytree中获取节点的所有子节点?

时间:2017-10-07 06:51:19

标签: javascript jquery icons nodes fancytree

我正在尝试在fancytree中设置节点的图标。我在网上的例子中发现我可以使用 renderNode 来执行此操作:

{
  "_id" : ObjectId("578fa05a7391bb0d34bd3c28"),
  "Action" : "Comment",
  "datetime" : 1507549688000
},
{
   "_id" : ObjectId("578fa05a7391bb0d34bd3c28"),
    "Action" : "Comment",
    "datetime" : 1507553288000
}
{
    "_id" : ObjectId("578fa05a7391bb0d34bd3c30"),
    "Action" : "Comment",
    "datetime" : 1507466888000
}

我想浏览该节点的子节点,如果它们全部被选中,请设置一个特定的Icon。但是当我得到孩子的时候,我只会得到第一级孩子,这意味着我没有得到节点的孩子的孩子。 有没有办法实现这一目标? 提前致谢

1 个答案:

答案 0 :(得分: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());
});