【问题标题】:D3.js collapsible tree - Expand up to depth-level 2 or 3D3.js 可折叠树 - 扩展到深度级别 2 或 3
【发布时间】:2017-05-31 09:54:11
【问题描述】:

目前我正在使用可折叠树 (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

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

    1--2

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

【问题讨论】:

  • 嗨西里尔,感谢您的评论。我已经检查过了。但我不想同时展开所有节点。我想根据数据控制何时扩展到哪个级别。你能帮我实现吗?

标签: javascript d3.js tree


【解决方案1】:

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

root.children.forEach(collapse);

在第二层之后折叠东西 - 即你只会在第一层显示根和子。

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

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

为根加两级。

希望有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多