赞
踩
项目中需要实现动态生成表单,经过调研,决定使用form-create插件来实现,非常简单,带大家了解一下
form-create是一个通过JSON生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持element-ui、iview、ant-design3个UI框架,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定
这里我选择element-ui作为UI框架
安装form-create插件
npm i @form-create/element-ui
main.js中全局引入
// 引入form-create 表单生成器
import formCreate from "@form-create/element-ui"
Vue.use(formCreate);
<template> <form-create v-model="fApi" :rule="rule" :option="option" :value.sync="value" ></form-create> </template> <script> export default { data() { return { fApi: {}, //表单数据 value: {}, //表单生成规则 rule: [ { type: "input", field: "goods_name", title: "商品名称", }, { type: "radio", title: "是否包邮", field: "is_postage", value: "0", options: [ { value: "0", label: "不包邮", disabled: false }, { value: "1", label: "包邮", disabled: true }, ], }, { type: "select", field: "cate_id", title: "产品分类", value: "104", options: [ { value: "104", label: "生态蔬菜", disabled: false }, { value: "105", label: "新鲜水果", disabled: false }, ], }, ], //组件参数配置 option: { //表单提交事件 onSubmit: function (formData) { alert(JSON.stringify(formData)); }, }, }; }, }; </script> <style> </style>
总的来说,form-create还是非常好用的,大家可以配合form-create-designer表单设计器一起来使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。