G6 icon indicating copy to clipboard operation
G6 copied to clipboard

changedata后全局动画闪烁问题

Open dingyang9642 opened this issue 3 years ago • 1 comments

问题描述

背景:changedata利用全局动画animate:true开启动画 问题描述:见视频中鼠标点击处(点击一个node之后,会首先执行一次changeData后最新数据的渲染,然后再进行动画的执行,此时就会有一个比较明显的闪烁问题)

重现链接

下面视频

重现步骤

见视频点击处,大约视频4s后的位置

预期行为

changedata后不要先执行绘制最新数据,应该是直接开启动画

平台

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

屏幕截图或视频(可选)

https://user-images.githubusercontent.com/16871766/191657640-508d468a-edbc-4dc7-a2e9-42d81edc340a.mp4

补充说明(可选)

No response

dingyang9642 avatar Sep 22 '22 04:09 dingyang9642

我遇到过类似的情况,之后采用 getNodes/getEdges 手动执行 item.update({}) 方法屏蔽。可能是 changeData 会重新触发重绘操作,导致视图元素刷新,update 方法应该仅触发 afterUpdate 生命周期

simplejason avatar Sep 22 '22 06:09 simplejason

@Yanyan-Wang

dingyang9642 avatar Sep 22 '22 12:09 dingyang9642

请提供一下在线复现的 demo?

Yanyan-Wang avatar Oct 12 '22 07:10 Yanyan-Wang

可能是因为上一个动画尚未完成,又进行了 changeData 和动画导致的,考虑点击节点切换数据的时候做一个 debounce,时间等于动画时间长度

尊敬的用户,您好。我们很重视您的 issue,但由于长时间没有答复,我们暂时认为这个问题已经解决。如果还有任何问题,请随时根据 issue 模版再开启新的 issue。

Yanyan-Wang avatar Nov 29 '22 10:11 Yanyan-Wang