在igTree中扩展特定节点时,如何扩展节点的所有子节点?

时间:2019-04-02 14:05:19

标签: ignite-ui igtree

我正在使用IGtree。 我在树中有数据,直到树中有4个级别。 最初,所有节点都折叠。 扩展任何特定节点时,其所有子节点也应扩展到最后一级

2 个答案:

答案 0 :(得分:2)

选项之一是处理nodeExpanding事件以区分根节点并找到其父节点。然后将每个节点和所有节点扩展到根节点。这里是代码段:

$(document).on("igtreenodeexpanding", "#tree", function (evt, ui) {
    // this ensures the expanding node is on root level.
    if (ui.node.path.indexOf(ui.owner.options.pathSeparator) <= -1) {
        // Select all the nodes whcih contain children
        // Here you can play with the path if you want to limit expanding to a certain level
        var nodes = $(ui.node.element).find("li[data-role='node'].ui-igtree-parentnode");
        for (var i = 0; i < nodes.length ; i++) {
            var node = $(nodes[i]);
            ui.owner.expand(node);
            ui.owner.expandToNode(node);
            // or you can use: 
            // $("#tree").igTree("expand", node);
            // $("#tree").igTree("expandToNode", node);
        }
    }
});

希望有帮助。

答案 1 :(得分:1)

let nodes = $("#configTree").igTree("children", event.element);
  if(nodes) {
    nodes.forEach((node1)=>{
      $("#configTree").igTree("expand", node1.element);
    })
  }