如何使用d3.js在可折叠树上展开特定节点?

时间:2017-04-21 12:51:56

标签: javascript d3.js tree

My collapsible tree

我有这棵树,我想每次扩展一个节点。我找到了这个代码,但它一次扩展了所有节点。

function expand(d){
  if (d._children) {
      d.children = d._children;
      d.children.forEach(expand);
      d._children = null;
  }

}

我在这棵树后面有一个逻辑,我想通过传递一个像节点名这样的参数来扩展一个特定的节点,以选择我想要扩展的节点。

1 个答案:

答案 0 :(得分:2)

要么在弄乱svn.revision=${buildNumber} #dbo.url=${dbo.url} dbo.url=https://localhost:9990/server/ #show.error.dialog=${errorDialog} show.error.dialog=true 之前停止递归:

d._children

或在function expand(d){ if(d._children && d.level < 3){ // or d.name.indexOf("SpecialNode") > -1 or d.category == "expandable" or d.parent.name == "somename" etc d.children = d._children; d.children.forEach(expand); d._children = null; } }

之前过滤d.children
forEach

(我想我更喜欢后者顺便说一句)

祝你好运!