问题描述
用Canvas实现D3力图,当您放大或平移该图,然后单击一个节点时,该图将“闪烁”一秒钟。这是由于图形渲染节点在一些渲染中处于“错误”位置。
这仅在实现d3 drag()方法时发生,并且只有在更改图形的缩放/平移时才会发生。
在下面的示例中,如果放大并单击一个节点,则将另一个节点“闪烁”-将其放置在其他位置,然后返回到运行“ tick”方法时应位于的位置
但是当节点的位置没有设置时,为什么其位置会改变?
这似乎是因为它在不同位置重绘了节点,然后forceCenter()将节点重新带回,并且它很快发生并给它一个“闪光”
这是一个代码沙箱:https://codesandbox.io/s/dawn-wave-yoz1r?file=/index.html
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)