龙崎流也

Results 8 comments of 龙崎流也

官网的 Demo 也有这个问题 https://graphin.antv.vision/~demos/element-node-icon 强制刷新 ctrl + shift + r 可复现

有一个备选方案,设置 renderer 为 svg 即可解决。 G6 底层渲染引擎造成的问题,参考:https://github.com/antvis/G6/issues/1492 此外,设置 renderer 为 svg 后会引发新的问题:删除命令失效,删除某节点后,节点并没有从画布消失。

~找到一个还不错的解决方案~(renderer 为 canvas): ```typescript /** 在官方的解决方案未出来前,先通过 refreshPositions 规避 graph 消失的 bug */ graph.on('canvas:dragend', () => { graph.refreshPositions() }) ``` 呃... 还是没有从根本解决问题... 只能等更新了

参考:https://github.com/alibaba/GGEditor/issues/530#issuecomment-660928769

commandManager 不是提供了一个 register 方法吗,可以用来注册自定义命令,仿照 BaseCommand 写自定义的逻辑就可以了。

minimap 可以通过 G6 直接注册呀。参考: ```typescript import { G6 } from 'gg-editor' graph.addPlugin( new G6.Minimap({ container: document.getElementById('minimapContainer'), size: [196, 200], // 需设置宽高 className: 'minimapClass', // 自定义的样式类 }), ) /** 手动调用 paint...

咦不需要把 Minimap 封装到一个组件呀,本身 minimap 只是一个插件,graph 配置时通过配置 plugin 字段或者实例化后调用 graph.addPlugin() 方法即可呢。 我之所以用的是实例化后调用 addPlugin 方法而不是全局配置,是因为我没有在应用渲染时就加载 minimap 到页面上去,而是隐藏在了一个 Popover 里面,需要用户手动触发。 推荐通过 Flow 的 graphConfig 配置: ```typescript ``` 具体请参考 GGEditor 源码和 G6 的插件章节说明。

这个 bug 还挺严重的。默认情况下 drag-node 行为开启了 enableDelegate 特性,当节点 A 被选中,此时拖动节点 B,则会出现上述的 bug。这个 bug 不是 gg-editor 独有的,而是 g6 带来的问题,可以参考这个 demo:https://g6.antv.vision/zh/examples/interaction/setMode 在上面的 demo 中,右边的代码是支持热重载的,所以你可以尝试把 default mode 中的 drag-node 改为: ```js { type: 'drag-node',...