FuAdmin表单设计器使用教程:可视化拖拽快速搭建复杂表单
【免费下载链接】fu-admin采用当前最流行的技术栈 Vben Vue Vue3 Python Django Ninja(Fast Api 和 Django的结合)开发的后端管理系统项目地址: https://gitcode.com/gh_mirrors/fu/fu-admin
FuAdmin 是一个基于 Vue3 + Django Ninja 的后端管理系统,内置了一款零代码表单设计器。本文带你用可视化拖拽的方式,几分钟内搭建出带校验的复杂表单,并一键生成可运行的 JSON 与前端代码,无需手写一行表单配置。
什么是 FuAdmin 表单设计器?
传统做法中,开发一个表单页需要:定义字段 → 写校验规则 → 调整布局 → 联调测试,改一个字段往往要动好几处代码。
FuAdmin 表单设计器把这个过程变成了「拖、拉、点」:
- 🖱️拖拽组件:从左侧组件库把输入框、下拉选择、日期、评分等控件拖到画布上
- ⚙️属性面板:点选组件后,在右侧配置标签、占位符、校验规则
- 💾一键产出:生成 JSON 配置或直接生成 Vue 表单代码,粘贴即用
设计器入口源码位于 web/src/views/sys/form-design/index.vue,页面路由注册在 web/src/router/routes/modules/form-design/main.ts 中,页面地址为/form-designer/design。
快速上手:三步搭好第一个表单
第一步:把控件拖进画布
打开「表单设计」页面后,是经典的三栏布局:
| 区域 | 位置 | 作用 |
|---|---|---|
| 组件库 | 左侧 | 提供输入框、文本域、下拉选择、复选框组、日期范围、评分、上传、级联选择等 20 余种基础控件,还支持自定义控件分组 |
| 设计画布 | 中间 | 表单布局区,支持拖拽排序、复制、删除 |
| 属性面板 | 右侧 | 「控件 / 控件 / 组件」三个标签页,配置标签文案、字段标识、占位提示、禁用等属性 |
操作很简单:按住左侧「输入框」拖到中间画布即可。拖入后自动选中该组件,右侧面板同步显示它的可配置项。
第二步:配置字段与校验
点选画布中的任意组件,在右侧属性面板中设置:
- 标签 / 字段标识:如「用户名 / username」,字段标识就是提交数据时的键名
- 数据源名称 / 编码 / 类型:用于表单与后端数据映射
- 占位提示、额外消息:提升填写体验
- 校验状态:设置默认校验展示(默认 / 成功 / 警告 / 错误)
基础控件的完整清单定义在 web/src/views/sys/form-design/core/formItemConfig.ts,每个控件的默认属性(占位符、宽度、选项等)都在此注册。
第三步:预览与导出
顶部工具栏(源码见 web/src/views/sys/form-design/components/VFormDesign/modules/Toolbar.vue)提供全部产出能力:
- 预览:弹出实际表单效果,检查布局和交互
- 生成 JSON:导出整个表单的结构化配置(
schemas数组),可交给BasicForm直接渲染 - 导入 JSON:把已有配置还原回画布,方便团队共享
- 生成代码:直接生成 Vue + Vben Form 的表单代码,复制到项目即可运行
- 清空 / 撤销 / 重做:误操作随时回退,画布修改全程可撤销
生成的代码形态参考官方示例 web/src/views/sys/form-design/examples/baseForm.vue,核心就是一段schemas配置加useForm注册,粘贴进你的页面即可完成渲染。
为什么适合新手与快速交付
- 🧩所见即所得:布局、校验、默认值全部图形化配置,业务人员也能参与表单设计
- 📦组件生态复用:设计器直接复用 Ant Design Vue 组件库,拖出来的表单与系统其他页面风格完全一致
- 🔁配置化复用:同一个 JSON 配置可在多个页面渲染,避免重复开发
- 🚀无缝对接代码生成器:FuAdmin 的代码生成器中同样嵌入了该表单设计器(见 web/src/views/fuadmin/system/code-generator/template/design/form-design/index.vue),生成增删改查页面时表单结构可直接可视化调整
常见问题 FAQ
Q:如何扩展自定义控件?在web/src/views/sys/form-design/core/formItemConfig.ts中调用setFormDesignComponents()注册组件,即可出现在左侧「自定义控件」分组中,无需改动设计器本体。
Q:控件的属性在哪里维护?属性面板的字段定义集中在 web/src/views/sys/form-design/components/VFormDesign/config/ 下的componentPropsConfig.ts与formItemPropsConfig.ts,按需增删即可全局生效。
Q:JSON 配置能否直接给其他项目用?可以。导出 JSON 后在任何基于 Vben Form(BasicForm+useForm)的 Vue3 项目中都能渲染,天然跨项目通用。
从拖第一个控件到导出可用代码,全程不超过 5 分钟。打开 FuAdmin 的「表单设计」页面,动手搭出你的第一个复杂表单吧!
【免费下载链接】fu-admin采用当前最流行的技术栈 Vben Vue Vue3 Python Django Ninja(Fast Api 和 Django的结合)开发的后端管理系统项目地址: https://gitcode.com/gh_mirrors/fu/fu-admin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考