鼠标悬停不能用作箭头功能



我有下面的函数:

.on("mouseover", function(d, i) {
d3.select(this)
.attr("fill", "red");
})

然而,我想试着把它写成一个箭头函数,所以我发现了这个教程,并得到了这个:

.on("mouseover", (d, i, nodes) => {
d3.select(nodes[i])
.attr("fill", "red");
})

然而,每当我尝试运行它时,我总是会收到一个错误,上面写着TypeError: undefined is not an object (evaluating 'nodes[i]')

我也尝试过替换nodes,只调用this,但似乎无论我尝试什么,箭头函数在这里都不起作用。我觉得这不应该是版本问题,因为我使用的是d3的v7。有人能解释一下这里的问题是什么吗?

提前感谢!

我想明白了。显然,从v6开始,根据的讨论,上面链接中提供的箭头功能解决方案不再可能

所以现在的解决方案是:

.on("mouseover", (d) => {
d3.select(d.currentTarget)
.attr("fill", "red");
})

最新更新