官网
Vue Flow 官网
Vue Flow GitHub
安装
| npm i --save @vue-flow/core |
| |
| yarn add @vue-flow/core |
| |
| pnpm i @vue-flow/core |
使用
| <template> |
| <VueFlow v-model="elements" /> |
| </template> |
| |
| <script setup> |
| import { VueFlow } from '@vue-flow/core' |
| |
| const elements = ref([ |
| |
| |
| { id: '1', type: 'input', label: 'Node 1', position: { x: 250, y: 5 } }, |
| |
| |
| { id: '2', label: 'Node 2', position: { x: 100, y: 100 }, }, |
| { id: '3', label: 'Node 3', position: { x: 400, y: 100 } }, |
| |
| |
| { id: '4', type: 'output', label: 'Node 4', position: { x: 400, y: 200 } }, |
| |
| |
| |
| { id: 'e1-3', source: '1', target: '3' }, |
| |
| |
| { id: 'e1-2', source: '1', target: '2', animated: true }, |
| ]) |
| </script> |
| |
| <style> |
| |
| @import "@vue-flow/core/dist/style.css"; |
| |
| |
| @import "@vue-flow/core/dist/theme-default.css"; |
| </style> |

常用功能:
- 画布居中
| import { VueFlow, useVueFlow } from "@vue-flow/core"; |
| const { onPaneReady } = useVueFlow(); |
| const state = reactive({ |
| instance: null, |
| }); |
| onPaneReady((instance) => { |
| instance.fitView(); |
| |
| state.instance = instance; |
| }); |
| |
| |
| state.instance.fitView({ offset: { y: 50 } }); |
| state.instance.zoomTo(1); |
- 点击事件
| <VueFlow |
| v-model="flowElement" |
| :style="{ background: 'transparent' }" |
| :default-zoom="1" |
| fit-view-on-init |
| @nodeClick="nodeClickHandler" |
| /> |
| const nodeClickHandler = (props) => { |
| const node = props.node; |
| console.log(node.id); |
| }; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了