什么是 VueFlow
安装 VueFlow
样式引用
import '@vue-flow/core/dist/style.css' import '@vue-flow/core/dist/theme-default.css' import '@vue-flow/controls/dist/style.css' import '@vue-flow/minimap/dist/style.css'
快速开始
<template><div class="flow-content" @drop="onDrop"><VueFlow v-model:nodes="nodes" v-model:edges="edges" fit-view-on-init default-marker-color="#409EFF"@node-click="logEvent('click', $event)"@edge-click="logEvent('edge clicked', $event)"@connect="logEvent('connect', $event)"@selection-start="logEvent('selection111',$event)"@dragover="onDragOver"@dragleave="onDragLeave"><Background :size="1" :gap="20" pattern-color="#BDBDBD" /><MiniMap></MiniMap><Controls></Controls><Panel><el-card style="width: 150px;"><div class="flow-menu-div"><el-button class="menu-btn" type="primary" @click="onSave"><el-icon class="menu-icon" color="#ADFF2F"><CirclePlusFilled /></el-icon>菜单</el-button></div></el-card></Panel><template #node-tc="tcNodeProps"><TcNode v-bind="tcNodeProps" @CustomSettingOPen:value="openSetting" /></template></VueFlow></div> </template>
- edges:连接线数据
- nodes:节点数据
- fit-view-on-init:默认图居中
- default-marker-color:连接线节点颜色
import { VueFlow, Panel, MarkerType } from '@vue-flow/core' import { Controls } from '@vue-flow/controls' import { MiniMap } from '@vue-flow/minimap' import '@vue-flow/core/dist/style.css' import '@vue-flow/core/dist/theme-default.css' const nodes = ref([ {id: '1',type: 'default',data: { color: presets.ayame },position: { x: 0, y: 50 },}, {id: '2',type: 'default',data: { color: presets.ayame },position: { x: 0, y: 50 },} ])const edges = ref([ {id: 'e1a-2',source: '1',sourceHandle: 'a',target: '2',animated: true,style: {stroke: presets.ayame,},} ])
节点类型(type:):default、input(只有输出)、output(只有输入)