-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当移动nodes 时,会不稳定的跳来跳去 #4609
Comments
@neolee6053 移动node时候,全局的节点会进行force的重新计算,如果拖拽的节点质量比较小,就会受到力的作用而发生位移。可以尝试增加 被拖拽节点的质量 |
原因是在你的 demo 中 dragstart 调用了 graph.layout 相当于重新启动了力导布局,这时候拖动节点,和布局过程中计算的节点位置不停相互覆盖,看起来有跳动。如果你拖动的时候不希望其他节点跟随,就不需要在 drag 各种监听里面加 graph.layout。 如果你希望拖拽完成之后跟随,避免拖拽过程中的位置冲突导致的跳动,可以在 dragstart 的时候把 force 布局停止调,dragend 的时候再触发重新布局,我按照这个逻辑改了一下:https://codesandbox.io/s/g6-forked-2qhxtp 另外,除了 force 以外其他布局是没有 forceSimulation.stop 的,可以注意下 |
谢谢建议,大大的建议是可以接受的,但暂时没办法根绝吗?version 5也不能? |
@Yanyan-Wang 大佬如果是在拖拽过程中,node:drag 事件里面想要保持其余节点跟随(drag事件中使用了graph.layout),有什么办法可以避免像你说的 "和布局过程中计算的节点位置不停相互覆盖,看起来有跳动" 这种情况吗 |
问题描述
node本应该跟着鼠标移动的,但不知为什么会不安定的跳来跳去
重现链接
https://codesandbox.io/s/g6-p6fq42?file=/index.js
重现步骤
node本应该跟着鼠标移动的
预期行为
node本应该跟着鼠标移动的,但不知为什么会不安定的跳来跳去
平台
屏幕截图或视频(可选)
No response
补充说明(可选)
No response
The text was updated successfully, but these errors were encountered: