你还在为画各种流程图头疼吗?

1.官方文档

vueflow.dev/

Vue Flow 简介

Vue Flow 是一个专为 Vue 3 设计的可视化流程编辑库,灵感来自 React Flow。它提供了拖拽、缩放、连接、高亮等一系列交互能力,适合用于流程图、业务流程编排、数据流、低代码画布等场景。核心特点:

  1. 组件化节点:节点、边都可用 Vue 组件自定义,易于扩展。
  2. 强交互性:内置拖拽、选择框、多选、键盘快捷键等交互。
  3. 可视化状态管理 :通过 useVueFlow 暴露节点/边/视图状态与增删改查 API。
  4. 插件生态:MiniMap、Background、Controls 等增强组件可直接引入。
  5. 性能优化:虚拟化渲染、事件去抖等,适合中大型画布。

文档入口:vueflow.dev/guide/intro... | Vue Flow")


最小示例 Demo

以下示例展示两节点一条边的基本用法,可直接放在 Vue SFC 中运行(例如 Vue Flow Playground 或 Vite 项目)。

php 复制代码
<template>
  <div style="width: 100%; height: 500px">
    <VueFlow
      v-model:nodes="nodes"
      v-model:edges="edges"
      fit-view
    >
      <Background />
      <Controls />
    </VueFlow>
  </div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { VueFlow, Background, Controls } from '@vue-flow/core'
import '@vue-flow/core/dist/style.css'
import '@vue-flow/core/dist/theme-default.css'

const nodes = ref([
  {
    id: '1',
    position: { x: 0, y: 50 },
    data: { label: '开始' },
  },
  {
    id: '2',
    position: { x: 200, y: 150 },
    data: { label: '结束' },
  },
])

const edges = ref([
  { id: 'e1-2', source: '1', target: '2', animated: true },
])
</script>

关键点说明:

  1. VueFlow 组件接收 nodesedges 数组,可通过 v-model 实时同步状态。
  2. 节点 data.label 默认会在内置 Node 中渲染;也可通过 vueFlow.registerNode 或插槽自定义。
  3. fit-view 自动将视图缩放居中到所有节点。
  4. BackgroundControls 是官方提供的 UI 插件,分别渲染网格背景和缩放/定位控件。
  5. 若需要事件处理(如拖拽回调、连线校验),可通过 useVueFlow() 获取 onEdgeUpdate, addEdges 等 API。

需要更复杂的例子(自定义节点、交互、动态加载等),可以在文档中的 "Examples" 或 "Cookbook" 章节查阅。

相关推荐
代码匠心15 小时前
AI 自动编程:一句话设计高颜值博客
前端·ai·ai编程·claude
_AaronWong16 小时前
Electron 实现仿豆包划词取词功能:从 AI 生成到落地踩坑记
前端·javascript·vue.js
cxxcode16 小时前
I/O 多路复用:从浏览器到 Linux 内核
前端
用户54330814419416 小时前
AI 时代,前端逆向的门槛已经低到离谱 — 以 Upwork 为例
前端
JarvanMo16 小时前
Flutter 版本的 material_ui 已经上架 pub.dev 啦!快来抢先体验吧。
前端
恋猫de小郭16 小时前
AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头?
前端·人工智能·ai编程
哀木17 小时前
给自己整一个 claude code,解锁编程新姿势
前端
程序员鱼皮17 小时前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github
UrbanJazzerati17 小时前
Vue3 父子组件通信完全指南
前端·面试
是一碗螺丝粉17 小时前
5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力
前端·人工智能·langchain