前端流程图vueflow

复制代码
npm add @vue-flow/core
javascript 复制代码
npm install @vue-flow/background @vue-flow/minimap @vue-flow/controls
  • VueFlow 负责画布本体
  • nodes 负责节点数据
  • edges 负责连线数据
  • Background 负责网格背景
  • MiniMap 负责右下角缩略图
  • Controls 负责缩放、重置等控制

type

这是节点类型。

Vue Flow 里有默认类型,比如:

  • input:起始节点
  • output:结束节点
  • default:普通节点

it-view-on-init

这个参数表示:

页面初始化完成后,自动把画布内容缩放到合适的可视范围。

javascript 复制代码
<template>
  <div class="page">
    <VueFlow :nodes="nodes" :edges="edges" fit-view-on-init>
      <Background />
      <MiniMap />
      <Controls />
    </VueFlow>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'

import { VueFlow } from '@vue-flow/core'

import { Background } from '@vue-flow/background'
import { MiniMap } from '@vue-flow/minimap'
import { Controls } from '@vue-flow/controls'

// 样式
import '@vue-flow/core/dist/style.css'
import '@vue-flow/core/dist/theme-default.css'

import '@vue-flow/minimap/dist/style.css'
import '@vue-flow/controls/dist/style.css'

const nodes = ref([
  {
    id: '1',
    position: { x: 100, y: 100 },
    data: { label: '开始节点1' },
    type: 'input',
  },
  {
    id: '2',
    position: { x: 400, y: 100 },
    data: { label: '处理节点32' },
  },
    {
    id: '3',
    position: { x: 800, y: 100 },
    data: { label: '处理节点32' },
  },
])

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

<style scoped>
.page {
  width: 100vw;
  height: 100vh;
}
</style>
相关推荐
demo007x6 分钟前
Docling 文档转换以及技术架构分析
前端·后端·程序员
京东云开发者1 小时前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重2 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
Fireworks2 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆2 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid2 小时前
文件存储:内部存储与外部存储
前端
NorBugs3 小时前
飞机大战 Low 版 (Made in AI)
前端
angerdream3 小时前
Android手把手编写儿童手机远程监控App之agentweb如何实现全屏
前端
星栈3 小时前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
奋斗吧程序媛3 小时前
补充一个小知识点:有关@click.native
前端·vue.js