antvis/G6

希望实现的功能:树图中自定义节点能支持拖动,但是如何没有拖入到任何一个节点下的,需要自动恢复到拖动前的位置 #4545

yanghao-YY posted onGitHub

问题描述

希望实现的功能:树图中自定义节点能支持拖动,但是如何没有拖入到任何一个节点下的,被拖动的节点需要自动恢复到拖动前的位置。 做过的尝试:记录拖动前在坐标,在拖动结束时如果不满足条件,则使用:item.updatePosition(cfg)方法强制将节点位置还原到拖动前的状态 问题:使用item.updatePosition(cfg)方法后,节点位置时还原了,但是边却还是被拖动了的状态。

重现链接

https://codesandbox.io/s/3ytfwn

重现步骤

1.进入页面,拖动节点且不要拖入任何节点下 2.查看节点位置和边展示,以下是我改动的代码: <img width="912" alt="image" src="https://github.com/antvis/G6/assets/38934549/c6af6ef8-95b1-49d6-818c-62384f2dca20">

预期行为

期望:item.updatePosition(cfg)手动设置节点位置后,边也应该同步更新 或者:大佬们还有没有例子可以实现这个:树图中自定义节点能支持拖动,但是如何没有拖入到任何一个节点下的,被拖动的节点需要自动恢复到拖动前的位置。

平台

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

屏幕截图或视频(可选)

<img width="1471" alt="image" src="https://github.com/antvis/G6/assets/38934549/12bedce6-44a5-4092-b33f-cb0d07058946">

补充说明(可选)

No response


试试item.update(cfg)?

posted by LeaveZzz almost 2 years ago

试试item.update(cfg)?

试了,看起来也不行~

posted by yanghao-YY almost 2 years ago

试试item.update(cfg)?

graph.render() 目前看重新渲染一下才行,但是感觉重新渲染从逻辑上不太合理

posted by yanghao-YY almost 2 years ago

重新调layout就行

posted by addriumruss almost 2 years ago
posted by Yanyan-Wang almost 2 years ago

Fund this Issue

$0.00
Funded

Pull requests