首页 > 其他分享 >react组件之cmao-ui,编写流程图的功能介绍

react组件之cmao-ui,编写流程图的功能介绍

时间:2024-04-10 15:36:32浏览次数:23  
标签:node cmao react ui 组件 line data id

流程组件介绍:

  该组件参考老版力软learun框架中的jquery流程组件进行重构,改写为react的组件。样式、操作、交互方式大致相近。

  该组件依赖的react版本大于18(不是不能做到兼容旧版react,而是要写就写新版本的,还用老的干嘛)

下载

//npm下载
npm install cmao-ui

引用

该组件是ui框架组件,内有多个功能组件,此处只讲流程图的使用。

import {Workflow} from cmao-ui;

//渲染
<Workflow />

注意的地方。需要另外安装babel-plugin-import,来配置css自动随着组件的import引用而引用。

若不进行配置,import上面的组件,需要手动引用css。
import form 'lib/workflow/style/index'

效果图

左侧栏为功能选择。选择功能后,才能对应在右侧画板上进行操作。可以选择添加节点,给两个节点之间画线连接。

参考<Workflow />组件的属性值,了解相关功能。

interface Props {
    id: string;
    /**是否为预览 */
    isPreview: boolean;
    /**
     * 双击节点node的回调方法
     * @param arg0 当前节点node
     * @returns
     */
    openNode?: (arg0: Node) => void;
    /**
     * 双击线line的回调方法
     * @param arg0 当前点击的线line
     * @param arg1 当前点击的线line来自的节点
     * @returns
     */
    openLine?: (arg0: Line, arg1: Node) => void;
    ref?: any;
}

如何在外部调用组件内部方法?

//目前该组件是通过暴露组件内方法,由外部调用。
//优点:简单直接。
//缺点:没有暴露相关属性值,没有相关介绍则无从得知。
//cmao-ui暂时版本如此,等以后重构后会优化

//组件ref绑定
const workflowRef = useRef<any>(null);
 <Workflow ref={workflowRef} />     //获取页面上的点线json组合。在画板上画好流程后,调用该方法即可   let data = workflowRef.current.workflowGet();    //通过方法给画板画流程。把符合的json给传参到data中即可   workflowRef.current.workflowSet('set', { data: data });    //修改对应的node,参数是node的id及整个node对象  workflowRef.current.workflowSet('updateNodeById', { id: node.id, data: node });     //修改对应的line,参数是line的id及整个line对象  workflowRef.current.workflowSet('updateLineById', { id: line.id, data: line });
 

 

 

 

标签:node,cmao,react,ui,组件,line,data,id
From: https://www.cnblogs.com/shadoll/p/18125725

相关文章

  • UIOTOS零代码开发一个仿Window简单计算器
    UIOTOS零代码开发一个仿Window简单计算器目标通过嵌套容器嵌套底层页面,再利用收发器组件和工具函数之间的转换,真正做到零代码实现简单计算器功能。最终效果底层页面     顶层页面实现过程步骤1:新建页面步骤2:计算器按键页面设计步骤3:按键页面放入数字步......
  • 使用Python+selenium+pytest+allure 编写ui自动化
    一、1.1背景:每次新发布功能后都需要手动跑冒烟用例,重复点击太多,消耗人力资源1.2测试项目:飞书第三方isv应用1.3技术栈:Python+Selenium+Pytest+Allure1.4框架设计:使用PageObject设计模式,将页面的元素和元素之间的操作方法进行分离。它有三层架构,分别为:基础封装层BasePage,PO页面......
  • Burp Suite Professional 2024.3.1 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.3.1formacOSx64&ARM64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.3.1formacOSx64&ARM64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin......
  • Burp Suite Professional 2024.3.1 for Windows x64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.3.1forWindowsx64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.3.1forWindowsx64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBurpS......
  • Burp Suite Professional 2024.3.1 (macOS, Linux, Windows) - Web 应用安全、测试和
    BurpSuiteProfessional2024.3.1(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:BurpSuiteProfessional2024.3.1(macOS,Linux,Windows)-Web应用安全、测试和扫描,查看最新版。......
  • 开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition
    目录简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height简介本文针对官方例程中的第一个例程:single-acquisition做简单的讲解,并简单分析其中调用的arv_camera_new,arv_camera_acquisition,ar......
  • 基于SSM+MySql+Layui的在线教育视频课程管理系统(附论文)
    演示视频基于SSM+MySql+Layui的在线教育视频课程管理系统(附论文)-源码乐园技术描述开发工具:Idea/Eclipse数据库:mysqlJar包仓库:Maven前段框架:LayUI后端框架:Spring+SpringMVC+Mybatis+MySQL文字描述基于SSM+MySql+Layui的在线教育视频课程管理系统,分为用......
  • [kernel] 带着问题看源码 —— setreuid 何时更新 saved-set-uid (SUID)
    前言在写《[apue]进程控制那些事儿》/"进程创建"/"更改进程用户ID和组ID"一节时,发现setreuid更新实际用户ID(RUID)或有效用户ID(EUID)时,保存的设置用户ID(savedset-user-idSUID)只会随EUID变更,并不像man上说的会随RUID变更(mansetreuid):Ifthe......
  • ElementUI 导出表格数据xlsx
    1.下载相应的依赖(命令如下)npminstall--savexlsxfile-saver 或 yarnaddxlsxfile-saver2.下载完成后引入相应的插件 importFileSaverfrom"file-saver"; import*asXLSXfrom"xlsx";3.给el-table中定义一个id<el-table   :data="list"   id="......
  • 启动应用程序出现ieui.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个ieui.dll文件(挑选合适的版本文件)把它放入......