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

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

  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.pswp.cn/web/81937.shtml

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

相关文章

自定义载板RK3588HDMI输入配置完整解决方案

Orange Pi 5 Plus HDMI输入配置完整解决方案 📋 项目概述 本文档记录了Orange Pi 5 Plus HDMI1接口配置问题的完整分析和解决过程。从初始的"disconnected"状态问题,到最终实现HDMI输入功能的全过程技术分析。 🎯 问题描述 初始…

SAAS架构设计2-流程图-用户与租户之间对应关系图

在SAAS(Software as a Service,软件即服务)结构中,用户与租户之间的关系可以通过一对一和多对多两种方式来定义。这两种关系模式各自有着不同的应用场景和特点。 用户和租户的关系(一对一) 一对一关系 在这…

Spring Boot微服务架构(八):开发之初就引入APM工具监控

使用 APM(Application Performance Management)工具监控 Spring Boot 应用,可以帮助开发者实时追踪性能瓶颈、分析调用链路、监控资源使用情况,并快速定位故障。以下是详细的步骤和常用工具的选择指南: ​​一、常用 A…

Python 如何让自动驾驶的“眼睛”和“大脑”真正融合?——传感器数据融合的关键技术解析

Python 如何让自动驾驶的“眼睛”和“大脑”真正融合?——传感器数据融合的关键技术解析 自动驾驶技术从来都不是“单兵作战”。如果你细看一辆自动驾驶汽车,它其实是一个传感器的集合体:摄像头、激光雷达(LiDAR)、毫米波雷达、超声波传感器、GPS……这些传感器各自发挥作…

《软件工程》第 12 章 - 软件测试

软件测试是确保软件质量的关键环节,它通过执行程序来发现错误,验证软件是否满足需求。本章将依据目录,结合 Java 代码示例、可视化图表,深入讲解软件测试的概念、过程、方法及实践。 12.1 软件测试的概念 12.1.1 软件测试的任务 …

面试题 08.08. 有重复字符串的排列组合【 力扣(LeetCode) 】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 面试题 08.08. 有重复字符串的排列组合 一、题目描述 有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。 二、测试用例 示例 1: 输入&#…

【Linux】关于权限的理解

目录 一、Linux用户的分类 1.Linux下的两种用户 2.两种用户提示符的区别 3.用户的切换方法 二、Linux的权限管理 1.文件访问者分类 2.常见文件类型 3.文件访问权限 4.权限检查逻辑 5.文件权限的表示方式 三、与文件访问权限相关的设置方法 1.前提: 2.如…

前端antd,后端fastapi,解决文件上传

一、技术架构概述 前端框架:React Ant Design 5.x 使用antd的Upload组件(支持拖拽/多文件/分片) 后端框架:Python FastAPI 利用UploadFile类处理文件流 传输协议:HTTP FormData(兼容性强) 二…

⭐️⭐️⭐️ 模拟题及答案 ⭐️⭐️⭐️ 大模型Clouder认证:RAG应用构建及优化

考试注意事项: 一、单选题(21题) 检索增强生成(RAG)的核心技术结合了什么? A. 图像识别与自然语言处理 B. 信息检索与文本生成 C. 语音识别与知识图谱 D. 数据挖掘与机器学习 RAG技术中,“建立索引”步骤不包括以下哪项操作? A. 将文档解析为纯文本 B. 文本片段分割(…

为什么建立 TCP 连接时,初始序列号不固定?

主要原因有两个方面: 很大程度上避免历史报文被下一个相同四元组的 TCP 连接接收问题(主要方面)防止黑客伪造相同序列号的 TCP 报文被接收 接下来,详细说说第一点 假设每次建立 TCP 连接时,客户端和服务端的初始序列…

VScode-使用技巧-持续更新

一、Visual Studio Code - MACOS版本 复制当前行 shiftoption方向键⬇️ 同时复制多行 shiftoption 批量替换换行 在查找和替换面板中,你会看到一个 .∗ 图标(表示启用正则表达式)。确保这个选项被选中,因为我们需要使用正则…

【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】

一、训练营 数据库迁移训练营 自建数据库运维难?本次训练营教您迁移至云数据库 RDS,高可用架构跨区容灾,降本增效!模拟教程 实战演练,零基础也能上手。 (一)开营时间 2025年4月8日-6月2日16…

Xamarin劝退之踩坑笔记

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

使用ray扩展python应用之流式处理应用

流式处理就是数据一来,咱们就得赶紧处理,不能攒批再算。这里的实时不是指瞬间完成,而是要在数据产生的那一刻,或者非常接近那个时间点,就做出响应。这种处理方式,我们称之为流式处理。 流式处理的应用场景…

火狐安装自动录制表单教程——仙盟自动化运营大衍灵机——仙盟创梦IDE

打开火狐插件页面 安装完成 使用 功能 录制浏览器操作 录入地址 开始操作 录制完成 在当今快速发展的软件开发生态中,自动化测试已从一种新兴技术手段,转变为保障软件质量与开发效率不可或缺的关键环节。其重要性体现在多个维度,同时&#x…

小程序 - 视图与逻辑

个人简介 👨‍💻‍个人主页: 魔术师 📖学习方向: 主攻前端方向,正逐渐往全栈发展 🚴个人状态: 研发工程师,现效力于政务服务网事业 🇨🇳人生格言: “心有多大,舞台就有多大。” 📚推荐学习: 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js实战 🍒T…

【LLM应用开发】上下文记忆的解决方案(主流全面)

一、前言 上下文记忆(Contextual Memory)解决方案的作用: 提升 AI(尤其是大语言模型,LLM)的对话连贯性和个性化。 本文将介绍几个主流的实现方式。 二、🧠 什么是上下文记忆? 在对…

C/C++ 面试复习笔记(2)

C语言如何实现快速排序算法? 答案:快排是一种分治算法,选择一个基准元素,将数据划分成两部分,然后递归排序 补充: void quick_sort(int arr[], int start, int end) {//判断是否需要排序if (start > …

2025吉林CCPC 题解(前六题)

// Problem: J - Odd-Even Game // Contest: Virtual Judge - sdccpc20250527 // URL: https://vjudge.net/contest/719585#problem/J // Memory Limit: 1024 MB // Time Limit: 1000 ms // 签到题 // Powered by CP Editor (https://cpeditor.org)#include <bits/std…

Q: dify知识库模块主要库表和字段

【回到目录】~~~~【回到问题集】 Q: dify知识库模块主要库表和字段 A: 表1&#xff1a;datasets 知识库表 name 知识库名称 index_struct 向量索引node 表2&#xff1a;document 文档表 name 文档名称 word_count 字数 doc_form 分段类型(hierarchical_model、qa_model、te…