Vue-Form-Making 表单设计器开发指南
2026-02-04 04:15:21作者:范垣楠Rhoda
项目概述
Vue-Form-Making 是一个基于 Vue.js 和 Element UI 的可视化表单设计器组件库,它允许开发者通过拖拽方式快速构建表单界面,并支持表单预览、代码生成和 JSON 导出等功能。本文将详细介绍如何安装、配置和使用该组件库。
安装方式
npm 安装(推荐)
对于使用 webpack 等打包工具的项目,推荐使用 npm 方式进行安装:
npm install form-making -S
这种方式的优点是与现代前端构建工具集成度高,便于进行代码分割和按需加载。
CDN 引入
对于快速原型开发或简单的 HTML 页面,可以使用 CDN 方式引入:
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/form-making/dist/FormMaking.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/form-making/dist/FormMaking.umd.js"></script>
<!-- 表单预览功能需要引入 ace.js -->
<script src="https://unpkg.com/form-making/public/lib/ace/ace.js"></script>
注意:生产环境中建议锁定 CDN 版本号以避免不兼容更新。
快速入门
基础依赖
Vue-Form-Making 基于 Element UI 开发,因此需要先引入 Element UI:
<!-- 引入 Vue.js -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入 Element UI -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
基本使用示例
<div id="app">
<fm-making-form style="height: 500px;" preview generate-code generate-json>
</fm-making-form>
</div>
<script>
new Vue({
el: '#app'
})
</script>
关键点说明:
- 必须为表单设计器设置高度(如500px)
- 通过属性控制功能:preview(预览)、generate-code(生成代码)、generate-json(生成JSON)
模块化项目集成
完整引入
import Vue from 'vue'
import FormMaking from 'form-making'
import 'form-making/dist/FormMaking.css'
Vue.use(FormMaking)
按需引入
import { GenerateForm, MakingForm } from 'form-making'
import 'form-making/dist/FormMaking.css'
Vue.component(GenerateForm.name, GenerateForm)
Vue.component(MakingForm.name, MakingForm)
富文本编辑器集成
如需使用富文本编辑功能,需要额外安装 vue2-editor:
import VueEditor from "vue2-editor"
Vue.use(VueEditor)
国际化支持
Vue-Form-Making 使用 vue-i18n@8.x 实现多语言支持,默认提供中文(zh-CN)和英文(en-US)两种语言包。
基础配置
Vue.use(FormMaking, {lang: 'en-US'})
与 Element UI 的多语言集成
import VueI18n from 'vue-i18n'
import enLocale from 'element-ui/lib/locale/lang/en'
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
const messages = {
'en-US': {...enLocale},
'zh-CN': {...zhLocale}
}
const i18n = new VueI18n({
locale: 'zh-CN',
messages
})
Vue.use(Element, {
i18n: (key, value) => i18n.t(key, value)
})
Vue.use(FormMaking, {lang: 'zh-CN', i18n})
核心组件详解
MakingForm 组件
<fm-making-form
ref="makingform"
style="height: 500px;"
preview
generate-code
generate-json
>
<template slot="action">
<!-- 自定义操作按钮 -->
</template>
</fm-making-form>
组件特性:
- 必须显式设置高度
- 通过布尔属性控制功能开关
- 支持通过插槽自定义操作按钮区域
最佳实践建议
- 开发环境:推荐使用 npm 安装方式,便于与构建工具集成
- 生产环境:如果使用 CDN,务必锁定版本号
- 性能优化:按需引入组件可减小打包体积
- 扩展性:利用插槽机制可以灵活扩展功能区域
- 国际化:建议项目初期就规划好多语言方案
通过本文的介绍,开发者可以快速掌握 Vue-Form-Making 的安装和使用方法,在实际项目中高效地构建可视化表单设计功能。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
469
465
暂无描述
Dockerfile
778
5.08 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
877
2.03 K
Ascend Extension for PyTorch
Python
758
968
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
697
1.4 K
昇腾LLM分布式训练框架
Python
185
231
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.25 K
677