精美的vue流程设计器

news/2025/11/8 14:51:39/文章来源:https://www.cnblogs.com/cyzf/p/19201769

一、vue-dawn-flow介绍

vue-dawn-flow是一款功能强大的开源流程设计器,专为 Vue.js 生态打造,完美兼容 Vue 2 和 Vue 3 框架。并且能很好的兼容vue前端所有框架。

1.1插件功能

  • 提供了一个可视化的流程设计器,你可以在设计器中拖拽组件,连接组件,设置组件属性。
  • 提供了多种节点类型可共筛选。
  • 提供了节点的相关操作,比如添加、删除、复制、粘贴、撤销节点。
  • 提供了连线的相关操作,比如删除、撤销连线。
  • 提供了导出流程图片、清空流程、预览模式等相关功能。
  • 提供了相关的事件回调,你可以在事件回调中处理流程相关的逻辑。
  • 提供了相关的属性,你可以在属性中设置组件的相关属性。
  • 提供了相关的方法,你可以在方法中调用相关的功能。

二、快速开始

2.1:安装方式

npm i vue-dawn-flow

或者

yarn add vue-dawn-flow

2.2:全局注册

在 main.js 或 main.ts 中全局注册 vue-dawn-flow 插件

import { createApp } from 'vue'; 
import App from './App.vue' ;
import "../node_modules/vue-dawn-flow/dawn-flow.css"; 
import dawnFlow from "vue-dawn-flow" const app = createApp(App);
app.use(dawnFlow)
app.mount('#app')

2.3:页面使用

在需要使用的 vue 页面,添加如下代码

<template><dawnFlow></dawnFlow>
</template>

2.4:示例图

vue-dawn-flow

三、属性

3.1:节点栏

  • 属性名称:NodeBar
  • 作用:控制节点栏是否显示、右边节点属性栏是否显示
  • 类型:Boolean
  • 默认值:true

示例

<template><dawnFlow :NodeBar="true"></dawnFlow>
</template>

3.2:工具栏

  • 属性名称:ToolBar
  • 作用:控制是否显示
  • 类型:Boolean
  • 默认值:true

示例

<template><dawnFlow :ToolBar="true"></dawnFlow>
</template>

3.3:模式切换

  • 属性名称:isPreview
  • 作用:是否预览模式
  • 类型:Boolean
  • 默认值:false

示例

<template><dawnFlow :isPreview="true"></dawnFlow>
</template>

四、方法

4.1:导出流程图片

  • 方法名称:downloadImageClick
  • 作用:下载图片
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="downloadImage">下载图片</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const downloadImage = () => {dawnFlowRef.value.downloadImageClick();
};
</script>

4.2:获取流程数据

  • 方法名称:getFlowJson
  • 作用:获取流程数据,可用于获取当前流程图的 JSON 数据
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="getFlowData">获取流程数据</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const getFlowData = () => {dawnFlowRef.value.getFlowJson();
};
</script>

4.3:设置流程数据

  • 方法名称:setFlowJson
  • 作用:设置流程数据,可用于初始化流程图
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="setFlowData">设置流程数据</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const setFlowData = () => {dawnFlowRef.value.setFlowJson();
};
</script>

4.4:删除流程

  • 方法名称:delFlowClick
  • 作用:删除当前流程图,清空当前流程图数据
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="delFlowData">删除流程</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const delFlowData = () => {dawnFlowRef.value.delFlowClick();
};
</script>

4.5:删除选中节点

  • 方法名称:delSelectNodeClick
  • 作用:删除当前选中节点,按住 ctrl 可以多选节点
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="delSelectNodeData">删除选中节点</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const delSelectNodeData = () => {dawnFlowRef.value.delSelectNodeClick();
};
</script>

4.6:删除选中连线

  • 方法名称:delSelectEdgesClick
  • 作用:删除当前选中连线,按住 ctrl 可以多选连线
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="delSelectEdgesData">删除选中连线</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const delSelectEdgesData = () => {dawnFlowRef.value.delSelectEdgesClick();
};
</script>

4.7:返回画布中心位置

  • 方法名称:backCenterClick
  • 作用:返回画布中心位置
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="backCenter">返回画布中心位置</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const backCenter = () => {dawnFlowRef.value.backCenterClick();
};
</script>

4.8:撤销上一步操作

  • 方法名称:revokeClick
  • 作用:撤销上一步操作
  • 类型:Function
  • 默认值:() => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="revoke">撤销上一步操作</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const revoke = () => {dawnFlowRef.value.revokeClick();
};
</script>

4.9:模式切换

  • 方法名称:setPreviewState
  • 作用:切换模式,可切换为编辑模式和预览模式
  • 类型:Function
  • 默认值:(boolean) => {}

示例

<template><dawnFlow ref="dawnFlowRef"></dawnFlow><button @click="switchPreviewState">切换模式</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";const dawnFlowRef = ref(null);const switchPreviewState = (isPreview) => {dawnFlowRef.value.setPreviewState(isPreview);
};
</script>

五、事件

5.1:节点双击事件

  • 事件名称:currentNodeDoubleClick
  • 作用:节点双击事件,可用于在节点双击时触发自定义操作
  • 类型:Function(nodeData:[])
  • 默认值:(nodeData:[]) => {}

示例

<template><dawnFlow @currentNodeDoubleClick="currentNodeClick"></dawnFlow>
</template>
<script lang="ts" setup>
const currentNodeClick = (nodeData) => {//打印节点数据console.log(nodeData);
};
</script>

5.2:连线双击事件

  • 事件名称:currentEdgeDoubleClick
  • 作用:连线双击事件,可用于在连线双击时触发自定义操作
  • 类型:Function(edgeData:[])
  • 默认值:(edgeData:[]) => {}

示例

<template><dawnFlow @currentEdgeDoubleClick="currentEdgeClick"></dawnFlow>
</template>
<script lang="ts" setup>
const currentEdgeClick = (edgeData) => {//打印连线数据console.log(edgeData);
};
</script>

六、定制开发

如果当前插件不能满足你的需求,你可以定制开发,进行定制开发。
作者 qq:1652794307。
作者微信:cf_bzsmn。
定制开发的费用根据项目的复杂程度和功能的数量而不同。

七、源码出售

源码出售仅需¥ 998 元。
作者 qq:1652794307。
作者微信:cf_bzsmn。

八、讨论群

作者会在群里回答你的问题,也会分享插件的使用经验。
qq 群号:801913255。

九、文档地址

文档地址:http://139.155.137.144:8871

在线演示:http://139.155.137.144:8870

注:文档中有插件的使用说明

十、下载示例

https://gitee.com/yangguangchenjie/vue-dawn-flow

有兴趣的朋友,请关注我微信公众号吧()。

QQ20251108-143231

关注我:一个全栈多端的宝藏博主,定时分享技术文章,不定时分享开源项目。关注我,带你认识不一样的程序世界

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/959761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年刀轮船订制厂家权威推荐榜单:斗轮清淤船/刀轮式挖泥船/小型斗轮船源头厂家精选

在内河航道维护与水利工程建设领域,刀轮船作为高效清淤装备,其作业效率直接影响工程进度与成本。据水利行业统计数据显示,2025年我国内河清淤市场规模预计达到287亿元,年增长率稳定在8%-12%。 刀轮船凭借其独特的斗…

高效地使用std::map

#include <iostream> #include <string> #include <map> using namespace std;typedef map<string, int> M; M m; const char K[] = "key";void fn1 () {auto p = m.insert({K, 0…

flask:得到get/post参数

一,得到get参数 代码: from flask import Blueprint,jsonify,render_template,requestuser = Blueprint(user, __name__)# 用蓝图注册路由 @user.route("/add/") def user_add():# 得到get参数name = requ…

YACS2025年10月甲组

YACS2025年10月甲组T1. 数据结构 注意到可以离线,考虑整体二分。每次执行前一半操作,如果发现超过了 \(y\),那么答案就在前一半操作,否则就在后一半操作(如果补一个操作编号为 \(0\),整体加极大值的操作)。 所以…

2025年peek什么材料定制厂家权威推荐榜单:peek原料/材料peek/peek塑料原料源头厂家精选

在机器人轻量化与新能源汽车爆发式增长的浪潮下,PEEK(聚醚醚酮)材料凭借其卓越性能正成为高端制造领域的“新宠”。据行业数据显示,特斯拉Optimus单机使用PEEK量超过2kg,预计2025年全球出货量达50万台时,将激发出…

一对一视频聊天源码,高效查找方法之二分查找 - 云豹科技

一对一视频聊天源码,高效查找方法之二分查找介绍二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。过程首先,假…

2025年高解析喷码机生产厂家权威推荐榜单:打标机/打码机/工业喷码机源头厂家精选

在“一物一码”成为食品、医药、线缆、日化等行业出厂标配的2025年,高解析喷码机已成为产品追溯、品牌防伪及生产管理不可或缺的一环。 高解析喷码技术正随着工业4.0深化与"中国智造"转型而持续进步。据行业…

Netty 示例

1. Netty 示例 1.1. 简单的 Echo 服务器 这里,我们直接使用Netty作为独立的进程启动 1.1.1. Netty 依赖 maven依赖如下: <dependency><groupId>io.netty</groupId><artifactId>netty-all<…

2025年电子压力试验生产厂家权威推荐榜单:混凝土压力试验机/纸箱压力试验机/全自动压力试验机源头厂家精选

在工程质量检测与材料研发领域,电子压力试验机作为衡量材料力学性能的关键设备,其测量精度与稳定性直接影响检测结果的可靠性。据行业报告显示,全球压力试验机市场正稳步增长,技术创新与智能化成为推动行业发展的核…

从网络下载图片到本地

/// <summary> /// 保存图片从web /// </summary> /// <param name="imgUrl">图片网页链接</param> /// <param name="path">保存路径</param> /// <para…

Netty 的示例

1. Netty 示例 1.1. 简单的 Echo 服务器 这里,我们直接使用Netty作为独立的进程启动 1.1.1. Netty 依赖 maven依赖如下: <dependency><groupId>io.netty</groupId><artifactId>netty-all<…

2025年大型一体化净水器制造企业权威推荐榜单:全自动一体化净水器/自来水一体化净水器/自动一体化净水器源头厂家精选

在水资源日益紧张的背景下,大型一体化净水器凭借其高效处理能力和自动化运行优势,正成为市政供水、工业用水等领域的重要解决方案。据行业数据显示,2025年中国大型一体化净水器市场规模预计达到156亿元,年复合增长…

Misc图片题各种解法总结(仅限入门)

Misc图片题各种解法总结(仅限入门)图片特别小(1k不到那种):直接拿HxD/WinHex打开看有没有塞字符串 图片比较特殊:随机应变,比如是什么码就扫一下,是gif动图就把每一帧提取一下,是日历/键位一般就是连连看 两张…

Perfect Hash能用于分词吗?

CMPH - C Minimal Perfect Hashing Library 装起来很方便。apt list有:libcmph0 libcmph-dev libcmph-tools 测试数据是229837个词,从 意义 一一 ... 中航技进出口有限责任公司 2MB 在Intel N100上,cmph -g words 仅…

小白必看!AI写论文的实用方法全攻略

当今数字化时代,AI技术渗透各领域,为论文写作带来新思路。本文介绍借助AI高效完成论文写作的方法,如利用其优势提高效率、提供灵感、优化表达。还分享利用AI生成论文大纲、摘要、国内外研究现状及结论的prompt指令,…

初中几何①手拉手模型 +两个相似(一般、等腰、等腰直角、60度角、30度角)三角形 或 矩形 的手拉手模型

手拉手模型:4个类型和11个结论,一次性全学会! 原创 夜读数学 夜读数学 2025年5月23日 12:13 上海 https://mp.weixin.qq.com/s/vHUrnn7PZP9nq8oEuOo1-A一、模型特征绕共点旋转,两个三角形:共顶点,等顶角,+(…

一对一视频直播app开发,golang fmt格式“占位符” - 云豹科技

一对一视频直播app开发,golang fmt格式“占位符”golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。# 定义示例类型和变量 type Human struct {Name string }var people = Human{Name:"zhangsan…

Claude Code:让AI编程助手成为你的开发搭档

作为常年和代码打交道的开发者,你是否也遇到过这些困扰:接手陌生项目时对着庞大代码库无从下手,重构老代码时担心引入新bug,重复编码占用大量时间,Debug时反复排查却找不到问题根源?其实这些痛点,都能通过AI编程…

2025年立体水幕电影直销厂家权威推荐榜单:3d水幕电影/水幕电影喷泉/水幕电影激光秀源头厂家精选

在文旅产业蓬勃发展的背景下,立体水幕电影以其独特的视觉冲击力和沉浸式体验,正成为城市亮化与景区升级的重要选择。据行业数据显示,2025年中国水幕电影市场规模预计达到37.8亿元,年复合增长率保持在18%-25% 的高速…

毕业论文神器:9款免费AI写论文工具全测评,轻松过查重!

校园论坛求助帖反映出同学们写毕业论文的焦虑,2025年强大的AI成了救星。作者测评了9款免费AI写作工具,包括瑞达写作、PaperFine等。其中瑞达写作功能强大,能应对多种类型论文,有一键优化、问卷处理等特色功能。其他…