Vue 低代码可视化表单设计器 FcDesigner v3.2.6 版本发布


FcDesigner 是一款低代码表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。

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

兼容 Vue2 和 Vue3 版本

帮助文档  |  在线演示 |  源码下载

3.2.6版本更新内容

  • 新增 增加组件样式配置
  • 新增 支持切换组件类型, 增加switchType配置项控制组件的切换规则, 和是否显示切换组件类型
  • 新增 新增单选和多选组件支持显示输入框
  • 新增 栅格组件支持自适应布局配置
  • 新增 重新实现组件的验证规则配置组件
  • 新增 增加复制组件id功能
  • 新增 增加autoActive配置项, 控制是否自动选中拖入的组件
  • 新增 增加clear事件,点击清空按钮后触发
  • 新增 支持通过config.formOptions配置项配置表单默认配置
  • 新增 输入框组件增加类型选择
  • 新增 上传组件增加上传前置事件配置
  • 新增 增加通过config.disabledItemConfig配置项禁用组件指定配置
  • 新增 增加通过config.hiddenItemConfig配置项隐藏组件的指定配置
  • 新增 导出模板支持生成vue3语法的模板,支持通过useTemplate配置项使用vue2语法的模板
  • 新增 增加showInputData配置项控制录入默认值按钮显示
  • 优化 triggerActive方法, 简化手动选中组件的方式
  • 修复已知的bug

安装​

首先,安装 @form-create/designer 的 Vue 3 版本:

sh
npm install @form-create/designer@^3

安装 Vue 3 版本的 form-create

sh
npm install @form-create/element-ui@^3

引入​

CDN 引入

如果您选择使用 CDN,可以按照以下步骤在 HTML 文件中引入相关依赖:

<!-- 引入 Element Plus 样式 -->
<link href="https://unpkg.com/element-plus/dist/index.css" rel="external nofollow" target="_blank" rel="stylesheet" />


<!-- 引入 Vue 3 -->
<script src="https://unpkg.com/vue"></script>


<!-- 引入 Element Plus -->
<script src="https://unpkg.com/element-plus/dist/index.full.js"></script>


<!-- 引入 form-create 和 designer -->
<script src="https://unpkg.com/@form-create/element-ui@next/dist/form-create.min.js"></script>
<script src="https://unpkg.com/@form-create/designer@next/dist/index.umd.js"></script>


<div id="app">
<fc-designer height="100vh"></fc-designer>
</div>


<script>
const { createApp } = Vue;
const app = createApp({});
app.use(ElementPlus);
app.use(FcDesigner);
app.use(FcDesigner.formCreate);
app.mount('#app');
</script>

Node.js 引入

对于使用 Node.js 的项目,按照以下步骤在您的 Vue 3 项目中引入并配置:

import { createApp } from 'vue';
import FcDesigner from '@form-create/designer';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';


// 创建 Vue 应用
const app = createApp(App);


// 使用 Element Plus 和 FcDesigner
app.use(ElementPlus);
app.use(FcDesigner);
app.use(FcDesigner.formCreate);


// 挂载应用
app.mount('#app');

使用​

在 Vue 3 组件中,您可以通过以下方式使用 fc-designer 组件:

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


<script setup>
import { ref } from 'vue';


// 可以在此处获取设计器实例或进行其他操作
const designer = ref(null);
</script>

获取设计表单的数据​

在表单设计器中,可以通过以下方法获取表单的生成规则和配置,这些数据通常会被保存到数据库中,以便后续加载和回显。

//获取表单的生成规则
const ruleJson = this.$refs.designer.getJson();
//获取表单的配置
const optionsJson = this.$refs.designer.getOptionsJson();


//todo 保存JSON数据到数据库中

这些数据可以用来保存到数据库中,确保表单的状态和配置可以在页面刷新或重新加载时恢复。

回显设计表单​

当需要回显设计好的表单时,您需要加载之前保存的 JSON 规则和配置,并将其应用到设计器中。

//todo 加载表单JSON规则


//回显表单
this.$refs.designer.setOptions(optionsJson);
this.$refs.designer.setRule(ruleJson);

 

通过这些方法,可以将之前保存的表单规则和配置应用到设计器中,从而恢复表单的状态。

表单渲染​

要渲染表单,您需要挂载 form-create 到 Vue 应用中,并加载表单规则和配置。

//从设计器中导入 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/designer';
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>

动态加载和保存表单配置​

可以通过 API 请求动态加载表单规则和配置,并将表单数据保存到服务器。

import axios from 'axios';


// 加载表单配置
async function loadFormConfig() {
try {
const response = await axios.get('/api/form-config');
return response.data;
} catch (error) {
console.error('加载表单配置失败', error);
return { rule: [], option: {} };
}
}


// 保存表单配置
async function saveFormConfig(ruleJson, optionsJson) {
try {
await axios.post('/api/form-config', { rule: ruleJson, options: optionsJson });
} catch (error) {
console.error('保存表单配置失败', error);
}
}
 

相關推薦

2024-10-15

FcDesigner Vant版是一款基于Vue3.0的移动端低代码可视化表单设计器工具,通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。 源码下载 | 演示地址 |帮助文档 本

2023-03-26

Script、Pinia、Element-Plus 等框架,开发的一套 SpringBoot 3.0低代码开发平台,使用门槛极低,且采用 MIT 开源协议,完全免费开源,可免费用于商业项目等场景。 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需

2024-02-05

要带来了:开源版开箱即用的多租户功能、devtools的前端可视化代码生成(页面设计转代码)等重要功能,欢迎大家体验(下载playground项目体验)。 V3.2.0主要的更新如下: # 内核 diboot-core & core starter v3.2.0 新增JSON反序列

2023-04-30

志 新增在线开发功能,现已支持Online表单开发 新增代码生成器网关配置 集成表单设计器,可方便设计表单 优化菜单管理中选择图标时图标太小看不清 优化MINIO上传的mediaType 优化knife4j配置,支持服务发现 升级springc

2024-08-01

3、Mybatis-Plus、Flowable7.0、Vue3、Element-plus 等技术开发的低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采

2023-04-01

管理、运维管理、安全管理、自定义控制台。 TinyEngine 可视化设计器引擎 华为首个前端可视化设计器引擎,为可视化设计器开发者提供定制服务,在线构建出自己专属的设计器。支持 Vue、Angular 多技术栈,提供 VSCode 插件,

2024-04-18

v3.3.0 后端代码生成支持生成至模块化子目录 前端可视化代码生成增强:支持配置表单页加载关联子表单、详情页显示关联子对象,并支持以上配置一键生成代码。 后端代码支持非覆盖式更新:如模型已生成后端代码

2024-07-13

s、Redis、Vue3、Element-Plus 等框架,开发的一套 SpringCloud 低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采

2023-08-11

3):bootx-platform-vue3,基于Vue3版本的Vben-Admin进行开发 可视化大屏:bootx / bootx-platform-visualization,基于Go-VIew进行二次开发 小程序端:bootx-platform-mobile,基于京东Taro、NutUI技术生态进行开发 项目合集 Bootx-Platform:单体

2024-08-23

s、Redis、Vue3、Element-Plus 等框架,开发的一套 SpringCloud 低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采

2024-06-22

s、Redis、Vue3、Element-Plus 等框架,开发的一套 SpringCloud 低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采

2023-06-17

cript、Pinia、Element-Plus 等框架,开发的一套 SpringBoot 3.1 低代码开发平台,使用门槛极低,且采用 MIT 开源协议,完全免费开源,可免费用于商业项目等场景。 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需

2023-08-11

cript、Pinia、Element-Plus 等框架,开发的一套 SpringBoot 3.1 低代码开发平台,使用门槛极低,且采用 MIT 开源协议,完全免费开源,可免费用于商业项目等场景。 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需

2024-06-25

AI对话功能 国际化:前后端完整的国际化方案实现 代码生成:devtools支持配置并生成业务对象选择器、配置并生成链接弹窗查看关联数据详情、生成移动端CRUD页 企业版:表单详情页面打印、工作流的流程模拟运行和批