对于AntV的G6流程图的操作记录文档
对于AntV的G6流程图的操作记录文档
需求:添加流程图
安装G6
npm install –save @antv/g6
使用 在需要用的 G6 的 JS 文件中导入:
import G6 from ‘@antv/g6’;
开始:
创建容器
1 | <div id="mountNode"></div> |
准备数据
1 | export default { |
初始化流程图
1 | initG6() { |
1 | //在mounted()中调用 |
问题一:代码环境~
在自己写的可视化编辑器中,需要添加流程图组件,添加流程图框的效,并且各个流程图的节点可以拖拽连接线等
而在流程图组件外使用vue插槽solt中往canvas画布插入组件。
在canvas外部有@mousedown事件(拖拽事件)
所以这个时候G6自己的拖拽就会无法使用的问题。
解决:
在
1 | <div id="mountNode"></div> |
中添加一个父级Div,并也添加@mousedown事件
1 | <div @mousedown="handleMousedownOnShape"> |
在handleMousedownOnShape使用stopPropagation来阻止事件的传播到父级
1 | handleMousedownOnShape(e) { |
这样的话就基本完成啦可以拖动G6啦
但是!!!问题又来了,这时候父Div的mousedown方法就实现了,你再也拖动不了整个组件了!!!
解决方式:
第一个:找个父节点中不包含G6的进行拖放
第二个:
在G6中添加一个按钮,来对
1 | handleMousedownOnShape(e) { |
进行判断~
结果如下:
1 | handleMousedownOnShape(e) { |