antvis/G6

自定义节点拖动后再次渲染节点时位置发生了偏移 #4854

HealerLu posted onGitHub

问题描述

自定义节点拖动后再次渲染节点位置发生了偏移 主要是因为自定义节点是以节点的中心点为原点进行的绘制,但是如果鼠标移动到节点上进行拖拽时,鼠标的拖拽的位置不在节点的中心时,刷新后节点再次渲染时就会发生偏移。 目前是监听node:dragend 拖动结束事件中的 x,y来确定节点拖拽后的位置(但就是会出现上述的情况)

重现链接

重现步骤

如问题描述

预期行为

想要知道如果不通过node:dragend事件中的x,y来获取坐标的话,还有什么其他的方法来获取? 或者怎么计算 鼠标在节点中的位置与节点中心点的偏移量??

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.5.1 ... ]

屏幕截图或视频(可选)

CleanShot 2023-08-25 at 17 58 07

补充说明(可选)

想问下各位有没有什么更好的解决方案


给个在线复现 demo 吧

posted by Yanyan-Wang over 1 year ago

给个在线复现 demo 吧

已经解决了,发现可以用getBBox()获取节点的中心点,然后就不会再偏移了

posted by HealerLu over 1 year ago

详细说一下嘛?我也遇到了。使用react自定义节点后,和非自定义节点。位置是不一样的。你是怎么解决的?

posted by zhangxinyong12 over 1 year ago

Fund this Issue

$0.00
Funded

Pull requests