低代码——表单生成器以form-generator为例

article/2025/9/6 18:34:13

在这里插入图片描述
主要执行流程说明:

  1. 初始化阶段 :

    • 接收表单配置对象formConf
    • 深拷贝配置,初始化表单数据和验证规则
    • 处理每个表单组件的默认值和特殊配置(如文件上传)
  2. 渲染阶段 :

    • 通过render函数创建el-form根组件
    • 递归渲染表单项,根据layout类型选择渲染方式
    • 使用render组件渲染具体的表单元素
  3. render组件处理 :

    • 创建Vue渲染所需的数据对象
    • 处理插槽内容
    • 绑定事件处理器
    • 构建最终的渲染数据对象
    • 渲染具体的表单元素
  4. 事件处理

    • 统一的表单提交和重置处理
    • 各个表单元素的值变更处理
    • 特殊组件(如文件上传)的自定义事件处理

以下是一些基于 Vue 3 的开源表单生成器项目,适用于低代码开发、动态表单渲染和可视化表单设计等场景:(掘金)


1. form-create

  • 简介:通过 JSON 配置生成动态表单,支持数据收集、验证和提交功能。
  • 特点:内置 20 多种表单组件,支持多种 UI 框架(如 Element Plus、Ant Design Vue 等)。
  • GitHub:https://github.com/xaboy/form-create
  • 在线设计器:http://form-create.com/v3/designer?fr=github(CSDN博客)

在这里插入图片描述


2. Variant Form (VForm)

  • 简介:提供可视化表单设计器和渲染器,支持 Vue 2 和 Vue 3。
  • 特点:支持 Element UI 组件库,可一键生成源码。
  • GitHub:https://github.com/vform666/variant-form
  • 官网:https://www.vform666.com/(CSDN博客)

3. FormKit

  • 简介:功能强大的表单框架,简化表单结构、验证、主题、提交等流程。
  • 特点:提供 24+ 可访问的输入组件,20+ 内置验证规则,支持自定义验证。
  • 官网:https://formkit.com/(FormKit)
    在这里插入图片描述

4. Vueform

  • 简介:全面的表单框架,支持 Tailwind CSS、Bootstrap、Material 等。
  • 特点:提供拖放式表单构建器,支持导出 JSON,易于集成。
  • 官网:https://vueform.com/
  • GitHub:https://github.com/vueform/vueform(Vueform, GitHub)

5. form-generator

  • 简介:基于 Element UI 的表单设计及代码生成器。
  • 特点:支持在线拖拽生成组件,可导出 JSON 表单,适用于 Vue 项目。
  • GitHub:https://github.com/JakHuang/form-generator
  • 示例:https://mrhj.gitee.io/form-generator/#/(CSDN博客, 阿里云开发者社区)

6. Everright-formEditor

  • 简介:可视化低代码编辑器,支持 PC 和移动端。
  • 特点:依赖 Element Plus 和 Vant,内置适配器,适配多种组件。
  • GitHub:https://github.com/Liberty-liu/Everright-formEditor
  • 官网:https://everright.site/formEditor/introduction.html(CSDN博客)

7. epic-designer

  • 简介:可视化设计器组件,支持拖拽生成 JSON 配置。
  • 特点:支持多种 UI 组件库(如 Element Plus、Ant Design Vue、Naive UI)。
  • GitHub:https://github.com/Kchengz/epic-designer(GitHub)

这些项目各有特色,选择时可根据项目需求、UI 框架兼容性、是否需要可视化设计器等因素进行评估。



http://www.hkcw.cn/article/QpUOvVGggT.shtml

相关文章

奥威BI+AI——高效智能数据分析工具,引领数据分析新时代

随着数据量的激增,企业对高效、智能的数据分析工具——奥威BIAI的需求日益迫切。奥威BIAI,作为一款颠覆性的数据分析工具,凭借其独特功能,正在引领数据分析领域的新纪元。 一、‌零报表环境下的极致体验‌ 奥威BIAI突破传统报表限…

grid网格布局

使用flex布局的痛点 如果使用justify-content: space-between;让子元素两端对齐,自动分配中间间距,假设一行4个,如果每一行都是4的倍数那没任何问题,但如果最后一行是2、3个的时候就会出现下面的状况: /* flex布局 两…

基于 GitLab CI + Inno Setup 实现 Windows 程序自动化打包发布方案

在 Windows 桌面应用开发中,实现自动化构建与打包发布是一项非常实用的工程实践。本文以我在开发PackTes项目时的为例,介绍如何通过 GitLab CI 配合 Inno Setup、批处理脚本、Qt 构建工具,实现版本化打包并发布到共享目录的完整流程。 项目地…

江西某石灰石矿边坡自动化监测

1. 项目简介 该矿为露天矿山,开采矿种为水泥用石灰岩,许可生产规模200万t/a,矿区面积为1.2264km2,许可开采深度为422m~250m。矿区地形为东西一北东东向带状分布,北高南低,北部为由浅变质岩系组…

星海掘金:校园极客的Token诗篇(蓝耘MaaS平台)——从数据尘埃到智能生命的炼金秘录

hi,我是云边有个稻草人 目录 前言 一、初识蓝耘元生代MaaS平台:零门槛体验AI服务 1.1 从零开始——平台注册与环境搭建 1.2 平台核心功能 1.3 蓝耘平台的优势在哪里? 二、知识库构建新篇章:从零碎资料到智能语义仓库的蜕变…

测试概念 和 bug

一 敏捷模型 在面对在开发项目时会遇到客户变更需求以及合并新的需求带来的高成本和时间 出现的敏捷模型 敏捷宣言 个人与交互重于过程与工具 强调有效的沟通 可用的软件重于完备的文档 强调轻文档重产出 客户协作重于合同谈判 主动及时了解当下的要求 相应变化…

14. 最长公共前缀

以示例1为例 从左到右依次比较每个字符: 第一个字符都是f,当前最长公共前缀为"f"第二个字符都是l,当前最长公共前缀更新为"fl"第三个字符不一致,因此最终最长公共前缀确定为"fl" 具体实现思路&am…

【CF】Day69——⭐Codeforces Round 897 (Div. 2) D (图论 | 思维 | DFS | 环)

D. Cyclic Operations 题目: 思路: 非常好的一题 对于这题我们要学会转换和提取条件,从特殊到一般 我们可以考虑特殊情况先,即 k n 和 k 1时,对于 k 1,我们可以显然发现必须满足 b[i] i,而…

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线,半双工就是一个数据线 5 6 7 8 9 10 TTL(Transistor-Transistor Logic)电平是一种数字电路中常用的电平标准,它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平,其中:…

2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版

1.题目描述 2.思路 3.代码实现 import java.util.LinkedList; import java.util.Queue;public class H994 {public int orangesRotting(int[][] grid) {//1.获取行数int rowsgrid.length;int colsgrid[0].length;//2.创建队列用于bfsQueue<int[]> quenew LinkedList<…

RK3568DAYU开发板-平台驱动开发--UART

1、程序介绍 本程序是基于OpenHarmony标准系统编写的平台驱动案例&#xff1a;UART 系统版本:openharmony5.0.0 开发板:dayu200 编译环境:ubuntu22 部署路径&#xff1a; //sample/06_platform_uart 2、基础知识 2.1、UART简介 UART指异步收发传输器&#xff08;Univer…

【东枫科技】KrakenSDR 测向快速入门指南

本快速入门指南旨在帮助您使用运行在 Raspberry Pi 4/5 或 Orange Pi 5B (OPI5B)&#xff08;带 WiFi 型号&#xff09;上的 KrakenSDR 尽快连接到测向应用程序。不过&#xff0c;请务必阅读本手册的其余部分&#xff0c;以了解无线电测向的工作原理。 你需要什么 本指南假设…

每日算法-250529

2909. 元素和最小的山形三元组 II 题目 思路 数组, 前后缀分解 解题过程 对于寻找满足特定条件的三元组 (nums[i], nums[j], nums[k]) 且 i < j < k 的问题&#xff0c;一个常见的思路是枚举中间元素 nums[j]。 确定目标&#xff1a;我们要找的是和最小的 “山形三元组…

ASP.NET MVC添加视图示例

ASP.NET MVC高效构建Web应用- 商品搜索 - 京东 视图&#xff08;V&#xff09;是一个动态生成HTML页面的模板&#xff0c;它负责通过用户界面展示内容。本节将修改HelloWorldController类&#xff0c;并使用视图模板文件&#xff0c;以干净地封装生成对客户端的HTML响应的过程…

Pix4d航测软件正射影像生产流程(一)项目创建及快速空三

1.数据准备 此数据为精灵4RTK无人机拍摄的照片,照片数据完整,像控点数据为RTK采集的CGCS2000坐标系数据。 2.打开pix4D航测软件、打开新项目 打开pix4D航测软件,软件必须在断网的情况下使用。

day 24 元组和OS模块

一、元组 元组&#xff08;Tuple&#xff09;是 Python 中一种不可变的序列数据类型。元组一旦创建&#xff0c;其元素不能被修改、删除或添加。这一特性使得元组在需要保护数据不被意外更改的场景中非常有用&#xff0c;比如作为字典的键或在多线程环境中共享数据。 1、元组…

python 制作复杂表格报告

python 制作复杂表格报告 最近用&#xff4f;&#xff44;&#xff4f;&#xff4f;集成检测系统&#xff0c;有一复杂表格报告需要处理&#xff0c;即要用到数据库中详细实验信息&#xff0c;检测项格式也不统一&#xff0c;在word中需要有宣然&#xff0c;有列合并&#xff…

unity星空运动

// Upgrade NOTE: replaced ‘_Object2World’ with ‘unity_ObjectToWorld’ // Upgrade NOTE: replaced ‘mul(UNITY_MATRIX_MVP,)’ with UnityObjectToClipPos()’ Shader “Unlit/Texture_046” { Properties { _F(“F”,range(1,10)) 4 _MainTex(“MainTex”,2D) “”…

【电拖自控】转速检测数字测速(脉冲计数测速)

电力拖动自动控制系统第4版上海大学阮毅 &#xff08;脉冲计数测速可以用光电式编码器或霍尔编码器。&#xff09; 旋转编码器 光电式旋转编码器是检测转速或转角的元件。 旋转编码器可分为绝对式和增量式两种。绝对式常用于检测转角&#xff0c;增量式用于测转速。 增量式…

软考-系统架构设计师-第十六章 层次式架构设计理论与实践

层次式架构设计理论与实践 16.2 表现层框架设计16.3 中间层框架设计16.4 数据访问层设计16.5 数据架构规划与设计16.6 物联网层次架构设计 软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述这些元素的相互作用、指导元素集成的模式以及…