VueFlow入门

什么是 VueFlow

VueFlow 是一个专门为 Vue.js 设计的流程图和工作流构建库。它提供了丰富的 API 和组件,使得开发者可以轻松创建节点、边(连接线),并实现节点之间的交互。通过 VueFlow,我们可以构建出如工作流引擎、数据流程图、思维导图等各种复杂的可视化界面。

安装 VueFlow

在开始使用 VueFlow 之前,我们需要先安装它。可以使用 npm 进行安装,打开终端并运行以下命令:

npm install @vue-flow/core
npm install @vue-flow/background //背景
npm install @vue-flow/minimap //小地图
npm install @vue-flow/controls //自带的缩放、居中、加锁功能
npm install @vue-flow/node-toolbar //工具栏
npm install @vue-flow/node-resizer //缩放

样式引用

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(只有输入)

 


__EOF__

本文作者绯颜旧雨
本文链接https://www.cnblogs.com/yeyuqian/p/18730750.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   绯颜旧雨  阅读(176)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示