4

我正在尝试处理示例 d3 可折叠树。mbostock 的块 #1093025。最初加载表单时,如何使所有节点最初折叠?

4

2 回答 2

4

在此示例中节点折叠的方式是删除.children数据元素的成员,以便不绘制子元素。您可以静态地执行此操作,以使所有内容一开始就折叠起来。代码看起来像这样。

function moveChildren(node) {
    if(node.children) {
        node.children.forEach(function(c) { moveChildren(c); });
        node._children = node.children;
        node.children = null;
    }
}
moveChildren(json);

此处修改示例。

于 2013-10-17T10:14:35.830 回答
2

您必须在 json 加载中为此添加一个函数。检查该示例: http: //mbostock.github.io/d3/talk/20111018/tree.html

于 2013-10-17T10:11:22.600 回答