浅结logicFlow使用:
应用场景:vue3中使用logicFlow绘制流程图
技术碎片应用:
vue3:ref,reactive, onMounted, watchEffect,nextTick,inject
logicFlow:节点,边,锚点,事件
官网:logicFlow
1.引入下载LogicFlow
npm install @logicflow/core npm install @logicflow/extension
复制
import LogicFlow from "@logicflow/core"; import "@logicflow/core/dist/style/index.css";
复制
2.使用
<div id="simpleCircles" ref="container"></div>
复制
const lf=new LogicFlow({ container: document.querySelector("#simpleCircles"), grid: true, plugins: [], //MiniMap, Menu等的使用 })
复制
注册,节点,边
lf.register(customNode); //自定义节点 lf.register(customEdge); //自定义边
复制
设置主题
lf.setTheme({ bezier: { stroke: "#000000", strokeWidth: 1, }, });
复制
渲染数据
lf.render(data);
复制
3.引入使用map
import { Menu,MiniMap} from "@logicflow/extension"; import "@logicflow/extension/lib/style/index.css";
复制
plugins: [MiniMap], lf.extension.miniMap.show(860, 0)
复制
4.引入使用Menu
import { Menu,MiniMap} from "@logicflow/extension"; import "@logicflow/extension/lib/style/index.css";
复制
plugins: [Menu],
复制
右键编辑菜单
lf.extension.menu.setMenuConfig({ nodeMenu: [], edgeMenu: [], graphMenu: [], });
复制
5.事件编辑监听
lf.on("history:change", ({ data }) => { });
复制
节点node 边 edge "node:dbclick" //双击 "edge:add" //添加 "edge:click" //单击 "edge:mouseleave" //鼠标移出 history:change
复制
最终可实现绘制出满足需求的多单节点多锚点连线(边)。
类似效果图:
小结至此,还请多多关注。