D3.js可折叠树 - 扩展到深度级别2或3

时间:2017-05-31 09:54:11

标签: javascript d3.js tree

目前我正在使用可折叠树(https://bl.ocks.org/mbostock/4339083),当第一次调用时,它会扩展到深度级别1.这意味着

Case:1
   2
  /
 1--3
  \
   4

我的树有时看起来像这样,有时可能如下所示:

Case:2    
      3
     /
 1--2--4
     \
      5

有时可能如下所示:

Case:3    
         4
        /
 1--2--3--5
        \
         6

案例1对我来说没问题。我的问题是当创建case-2和case 3树时,我看到如下内容:

    1--2

然后我必须点击node-2进一步扩展。我想要的是:如果根节点只有1个子节点,那么子节点也应该扩展到它的子节点(如case:2所示),如果那个子节点也只有1个子节点,它应该扩展到它的孩子(案例:3)。我怎样才能做到这一点?任何提示或建议都会对我有所帮助。

1 个答案:

答案 0 :(得分:0)

要获得上面的1-2示例,代码应如下所示:

root.children.forEach(collapse);

要在第二级之后折叠东西-即,您将仅在第一级显示根和子级。

如果您想从下一个级别开始,可以将其修改为:

root.children[0].children.forEach(collapse);

对于根加上两个级别。

希望有帮助