Vue可视化表单设计 FcDesigner v3.1.0 发布,新增 12 个组件,支持事件配置等

本文主要是介绍Vue可视化表单设计 FcDesigner v3.1.0 发布,新增 12 个组件,支持事件配置等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

FcDesigner 是一款可视化表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。

本项目采用 Vue 和 ElementPlus 进行页面构建,内置多语言解决方案,支持二次扩展开发,支持自定义组件扩展。

兼容 Vue2 和 Vue3 版本
帮助文档 | 在线演示 | 源码下载

3.2.0

  • 增加 12 个可拖拽组件,目前共内置了 36 个可拖拽组件
  • 新增表格布局
  • 新增表格表单组件
  • 增加表单结构预览
  • 增加默认值录入功能
  • 增加表单和组件的事件配置
  • 增加多端预览和操作撤销和重做

img

安装

npm install @form-create/designer@next

引入

CDN:

<link href="https://unpkg.com/element-plus@2.0.1/dist/index.css"></link>
<script src="https://unpkg.com/vue@next"></script>
<script src="https://unpkg.com/element-plus@2.0.1/dist/index.full.js"></script>
<!-- import @form-create/element-ui -->
<script src="https://unpkg.com/@form-create/element-ui@next/dist/form-create.min.js"></script>
<!-- import @form-create/designer -->
<script src="https://unpkg.com/@form-create/designer@next/dist/index.umd.js"></script>
<div id="app"><fc-designer height="100vh" />
</div>
<script>const { createApp } = Vueconst app = createApp({});app.use(formCreate);app.use(FcDesigner);app.mount('#app');
</script>

NodeJs:

shell

npm install @form-create/designer@next

请自行导入 ElementPlus 并挂载

import formCreate from '@form-create/element-ui'
import FcDesigner from '@form-create/designer'
import ELEMENT from 'element-plus';
import 'element-plus/dist/index.css';
app.use(ELEMENT);
app.use(formCreate)
app.use(FcDesigner)

使用

<fc-designer ref="designer" height="100vh" />

组件配置

<fc-designer ref="designer" />
  • locale Object

多语言配置,默认为中文

  • mask boolean

是否显示组件的遮罩,默认为 true,不可以操作组件

  • height string|number

设计器组件的高度

  • menu MenuList

自定义左侧的菜单列表,会覆盖默认的菜单列表

  • config Config

可以配置设计器内模块是否显示和默认规则的修改

  • handle Handle

设计器顶部扩展操作按钮

组件的事件

  • active 组件选中事件,当组件在设计器中被选中时触发

    emit('active', Rule);
    
  • create 组件新增事件,创建新组件时触发

    emit('create', Rule);
    
  • copy 组件复制事件,当组件被复杂时触发

    emit('copy', Rule);
    
  • delete 组件删除事件,当组件在设计器中被删除时触发

    emit('delete', Rule);
    
  • drag组件拖入事件,当拖入新组件时触发

    emit('drag', {dragRule, item});
    
  • inputData录入数据事件, 保存录入数据时出发

    emit('inputData', formData);
    

组件的方法

<fc-designer ref="designer" />

通过refs.designer调用下面的方法

  • 添加模板和拖拽组件的描述文件,并按照menu字段自动添加到对应的菜单下

    type addComponent = (dragRule: dragRule|dragTemplateRule) =>void;
    type addComponent = (dragRule: Array<dragRule|dragTemplateRule>) =>void;
    
  • 覆盖添加拖拽组件到指定的菜单下

    type setMenuItem = (menuName: string, list: MenuList) => void;
    
  • 在设计器左侧添加新的菜单

    type addMenu = (menu: Menu) =>void;
    
  • 设置设计器表单的生成规则

    type setRule = (rule: string|Rule[]) => void;
    
  • 设置设计器表单的表单配置

    type setOption = (opt: Options) => void;
    

    别名方法setOptions

  • 获取设计器表单的渲染规则(Array)

    type getRule = () => Rule[];
    
  • 获取设计器表单的json渲染规则(string)

    type getJson = () => string;
    
  • 获取设计器表单的表单配置(Object)

    type getOption = () => Options;
    

    别名方法getOptions

  • 获取设计器表单的表单的json配置(string)

    type getOptionsJson = () => string;
    
  • 获取表单的formData

    type getFormData: () => Object;
    
  • 设置表单的formData

    type setFormData: (formData: Object) => void;
    
  • 获取设计器的表单的层级规则描述

    type getTree: () => TreeData;
    
  • 获取设计器的表单中表单组件的规则描述

    type getFormTree: () => TreeData;
    
  • 预览表单

    type openPreview = () => void;
    
  • 开启录入数据模式

    type openInputData: (open: boolean) => void;
    
  • 清空设计器的表单

    type clearDragRule = () => void;
    
  • 获取设计器中所有的字段名

    type fields = () => string[];
    
  • 选中设计器中指定组件

    type toolActive = (rule:Rule) => void;
    
  • 清空设计器中组件的选中状态

    type clearActiveRule = () => void;
    
  • 设置表单配置的表单规则,于config.formRule相同

    type setFormRuleConfig = (rule: () => Rule[], append: boolean) => void;
    
  • 设置组件基础配置表单的表单规则,于config.baseRule相同

    type setBaseRuleConfig = (rule: () => Rule[], append: boolean) => void;
    
  • 设置组件验证配置表单的表单规则,于config.validateRule相同

    type setValidateRuleConfig = (rule: () => Rule[], append: boolean) => void;
    
  • 设置指定组件属性配置的表单规则,于config.componentRule相同

    type setComponentRuleConfig = (id: string, rule: () => Rule[], append: boolean) => void;
    

表单回显

获取设计器表单规则和回显

获取设计表单的数据

//获取表单的生成规则
const ruleJson = this.$refs.designer.getJson();
//获取表单的配置
const optionsJson = this.$refs.designer.getOptionsJson();//todo 保存JSON数据到数据库中

回显设计表单

//todo 加载表单JSON规则//回显表单
this.$refs.designer.setOptions(optionsJson);
this.$refs.designer.setJson(ruleJson);

表单渲染

挂载 form-create, 重要!

//从设计器中导入 formCreate
import {formCreate} from '@form-create/designer';
//挂载 formCreate
app.use(formCreate);

加载规则并渲染表单

<template><div id="app"><form-create v-model="formData" v-model:api="fApi" :rule="rule" :option="option"></form-create></div>
</template>
<script>import formCreate from '@form-create/element-ui';export default {data() {return {//实例对象fApi: {},//表单数据formData: {},//表单生成规则rule: [],//组件参数配置option: {}}},beforeCreate(){const rule,option;// todo 加载表单JSON规则this.rule = formCreate.parseJson(rule);this.option = formCreate.parseJson(option);}}
</script>

这篇关于Vue可视化表单设计 FcDesigner v3.1.0 发布,新增 12 个组件,支持事件配置等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1027216

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M