我正在尝试制作树 http://mbostock.github.io/d3/talk/20111018/tree.html
此树中的键只是id,它只是一个整数。
我想指定一个键,以便与节点的id一起,我还有一个额外的变量,这样当我切换该变量时,我的圆圈会在更新部分被选中。
我尝试传递像
这样的列表data(data, function () {
return [(d.id || d.id = ++i), d.value];
})
当我将d.value更改为其他内容时,我希望它能够更新。 到目前为止,我没有任何运气,加上我似乎无法在文档中找到它。 有什么帮助吗?
答案 0 :(得分:1)
.data()
的关键是一个函数。此函数告诉D3如何将第一个参数中的数据与绑定到现有元素的数据进行匹配。也就是说,如果key函数为第一个参数中的元素返回相同的值.data()
并且绑定到现有DOM元素的数据,则假定DOM元素表示该数据。
如果数据元素匹配,则它将在更新选择中。如果不匹配,则它将在输入选择中。所有未与数据匹配的现有DOM元素都将位于退出选择中。
因此,在您的情况下,您实际上不需要更改任何内容,因为该节点将成为更新选择的一部分。