antvis/G6

同时使用changeData和updateLayout,updateLayout不生效 #4820

XiaoRIGE posted onGitHub

问题描述

期望在某个时机(点击页面按钮后)能够同时切换数据源和布局方式,但是同时调用对应的两个方法,更新布局方式方法未生效。

重现链接

www.test.com

重现步骤

1.点击按钮 2.切换布局和数据源(changeData和updateLayout) 3.布局没有切换成功

预期行为

期望布局和数据都使用新的值进行布局,但是布局方式并没有更新

平台

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

屏幕截图或视频(可选)

No response

补充说明(可选)

No response


调试后发现不是updateLayout没生效,而是因为updateLayout中有nodeFilter,没有符合filter条件,所以没有成功的更改布局。但是我想问问怎么能通过updateLayout实现有位置使用位置信息,没位置使用配置布局方式布局?

posted by XiaoRIGE over 1 year ago

如果有位置信息,可以不要配置 layout 或者 graph.destroyLayout 之后再 changeData 你说的这个问题,可以提供个复现 demo 吗?

posted by Yanyan-Wang over 1 year ago

调试后发现不是updateLayout没生效,而是因为updateLayout中有nodeFilter,没有符合filter条件,所以没有成功的更改布局。但是我想问问怎么能通过updateLayout实现有位置使用位置信息,没位置使用配置布局方式布局?

有位置是存在节点的x/y? 如果是这个的话,应该对model属性添加fx/fy固定位置就可以了吧,存在fx/fy的话,布局的时候应该不会重复布局了吧

类似于https://g6.antv.antgroup.com/examples/net/forceDirected/#basicForceDirectedDragFix

posted by hailinlu over 1 year ago

必须要有 x y,而不是 fx fy

posted by Yanyan-Wang over 1 year ago

Fund this Issue

$0.00
Funded

Pull requests