d3 v6运行时错误:拖动结束后出现循环定义错误



使用拖动重新定位矩形后,我需要重新绘制图表以解决任何重叠
这会创建一个RuntimeError:由于ES6不允许的循环依赖关系,因此循环定义d3 v6。有解决办法吗?

function draw() {
var Enter = group.enter()
.append("rect")
.attr("class", "lefthand")
.attr("width", function (d) { return xt(new Date(d.finish)) - xt(new Date(d.start)) })
.attr("x", function (d) { return xt(d.start) })
.attr("y", function (d) { return env.yScale(d.sub) - lineHeight / 2 })
.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended))
}

function dragended(d) {
resolveOverlaps
event = null
draw();
}

通过进行一系列选择并更新特定属性(如(来解决此问题

d3.selectAll("矩形"(

以前的代码没有正确使用d3,基本上是对图表的完全重新运行

最新更新