主要執行流程說明:
-
初始化階段 :
- 接收表單配置對象formConf
深拷貝配置
,初始化表單數據和驗證規則
- 處理每個表單組件的默認值和
特殊配置(如文件上傳)
-
渲染階段 :
- 通過
render函數
創建el-form根組件 遞歸渲染表單項
,根據layout類型
選擇渲染方式
- 使用render組件渲染
具體的表單元素
- 通過
-
render組件
處理 :- 創建Vue渲染所需的數據對象
處理插槽內容
綁定事件處理器
- 構建最終的渲染數據對象
- 渲染具體的表單元素
-
事件處理
:統一的表單提交和重置處理
各個表單元素的值變更處理
- 特殊組件(如文件上傳)的自定義事件處理
以下是一些基于 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 框架兼容性、是否需要可視化設計器等因素進行評估。