gpt4 book ai didi

d3.js - 如何使用 d3 动态更新嵌套列表?

转载 作者:行者123 更新时间:2023-12-02 01:57:18 25 4
gpt4 key购买 nike

我有树状结构的 JSON。我这样渲染它:

var lis = d3.select("#active ul")
.selectAll("li")
.data(getTopLevelChildren(), nodeId);
lis.enter().append("li").each(makeNodeView);

makeNodeView 递归地做同样的事情,在 DOM 中创建一个 ul/li 树。

不过,我也想动态更新列表。这个简单的代码不起作用:

lis.each(updateNodeView);
lis.exit().remove();

问题是 selectAll("li") 选择了所有 li 节点递归。因此,lis.exit().remove() 会删除页面上除根目录之外的所有 li 标记。

如何一次只选择树的 1 层?

最佳答案

var ul = d3.select(this).append("ul");
var lis = ul.selectAll(function () { return ul[0][0].childNodes })

关于d3.js - 如何使用 d3 动态更新嵌套列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19285649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com