可以在d3js中输入,更新,退出的数据键是否为列表?

时间:2014-02-14 09:31:32

标签: javascript d3.js

我正在尝试制作树 http://mbostock.github.io/d3/talk/20111018/tree.html

此树中的键只是id,它只是一个整数。

我想指定一个键,以便与节点的id一起,我还有一个额外的变量,这样当我切换该变量时,我的圆圈会在更新部分被选中。

我尝试传递像

这样的列表
data(data, function () {
   return [(d.id || d.id = ++i), d.value];
})

当我将d.value更改为其他内容时,我希望它能够更新。 到目前为止,我没有任何运气,加上我似乎无法在文档中找到它。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

.data()的关键是一个函数。此函数告诉D3如何将第一个参数中的数据与绑定到现有元素的数据进行匹配。也就是说,如果key函数为第一个参数中的元素返回相同的值.data()并且绑定到现有DOM元素的数据,则假定DOM元素表示该数据。

如果数据元素匹配,则它将在更新选择中。如果不匹配,则它将在输入选择中。所有未与数据匹配的现有DOM元素都将位于退出选择中。

因此,在您的情况下,您实际上不需要更改任何内容,因为该节点将成为更新选择的一部分。

相关问题