X6
X6 copied to clipboard
节点和线在拖拽过程中,不实时更改画布数据,只渲染一个中间过程虚拟节点
功能描述
如下图所示,节点和线在拖拽过程中,不实时更改画布数据,只渲染一个中间过程虚拟节点,减少中间状态对数据的持续影响,也能提升性能
期望解决方案
有没有好的解决思路
https://github.com/lloydzhou/x6-hooks
可以参考我这个地方的使用方法:
- 将x6的graph当作一个“受控”的组件
- 实际数组总是维护在自己外层组件的state里面。
- 在x6内部做交互的时候,总是放弃直接更改x6画布内的元素,而是通过回调去更新外层组件的state数据。
- state数据更新后,会自动将元素更改体现到画布上面
例如:
- 生成边的时候,通常validateEdge会返回true,确保交互式连接的边添加到画布。
- 现在只要重写validateEdge,需要添加边的时候,触发外层组件的callback更新state数据,往state内部添加一条边,当前的validateEdge永远返回false即可。
这个功能我们后续会加上,主要是因为如果节点所连的边比较多的场景下,会出现移动卡顿现象。之前做过一些尝试。
这个功能我们后续会加上,主要是因为如果节点所连的边比较多的场景下,会出现移动卡顿现象。之前做过一些尝试。
请问一下有排版计划了吗? 如果最近没有更新计划,这个想法测试场景覆盖怎么样,可以直接按这个思路开发不