具有动态渲染、数据收集、校验和提交功能的表单生成器。
CDN 引入
目前可以通过 unpkg.com/form-create 获取到最新版本的资源,在页面上引入 js 即可开始使用。
推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。
1 | npm i form-create |
NodeJs
在 main.js 中写入以下内容:
1 2 3 4 5 6 7 8 9 10 | import Vue from 'vue' ; import iView from 'iview' ; import 'iview/dist/styles/iview.css' ; import formCreat from 'form-create' //获取生成器 import { maker } from 'form-create' //三级联动数据,不用可以不引入 import 'form-create/district/province_city_area.js' Vue.use(iView); Vue.use(formCreat) |
可使用3种方式创建表单:
组件模式, Vue 原型方法, Window 全局方法
使用 <form-create></form-create> 标签创建表单
1 2 3 | < div id = "app1" > < form-create ref = "fc" v-model = "fApi" :rule = "rule" :option = "option" ></ form-create > </ div > |
NodeJs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import {maker} from 'form-create' export default { data () { return { fApi:{}, model: {}, //表单生成规则 rule:[ maker.input( '商品名称' , 'goods_name' ), maker.date( '创建时间' , 'created_at' ) ], //组件参数配置 option:{ //表单提交事件 onSubmit: function (formData) { alert(JSON.stringify(formData)); } } }; }, mounted: function (){ this .model = this .fApi.model(); } }; |
浏览器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | new Vue({ el: '#app1' , data:{ fApi:{}, model: {}, rule:[ formCreate.maker.input( '商品名称' , 'goods_name' ), formCreate.maker.date( '创建时间' , 'created_at' ) ], option:{ onSubmit: function (formData) { alert(JSON.stringify(formData)); } } }, mounted: function () { this .model = this .fApi.model(); } }); |
使用 vue 原型方法$formCreate(rule,option) 创建表单
1 2 3 | < div id = "app2" > < div id = "form-create" ></ div > </ div > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | new Vue({ el: '#app2' , data:{ $f:{}, model:{} }, mounted: function () { //表单插入的节点 const root = document.getElementById( 'form-create' ); //$f为表单api this .$f = this .$formCreate( //表单生成规则 [ this .formCreate.maker.input( '商品名称' , 'goods_name' , '' ), this .formCreate.maker.date( '创建时间' , 'created_at' ) ], //组件参数配置 { el:root, //显示表单重置按钮 resetBtn: true , //表单提交事件 onSubmit: function (formData) { //formData为表单数据 //按钮进入提交状态 this .$f.btn.loading(); //重置按钮禁用 this .$f.resetBtn.disabled(); //重置按钮恢复正常 //this.$f.resetBtn.disabled(); //按钮进入可点击状态 //this.$f.btn.loading(false); } }); //获取双向数据绑定的数据规则 this .model = this .$f.model(); } }) |
使用 window 全局方法formCreate.create(rule,option)创建表单
1 2 3 | < div id = "app3" > < div id = "form-create" ></ div > </ div > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | //表单插入的节点 var root = document.getElementById( 'form-create' ); var $f = {},model = {}; //$f为表单api $f = window.formCreate.create( //表单生成规则 [ window.formCreate.maker.input( '商品名称' , 'goods_name' , '' ), window.formCreate.maker.date( '创建时间' , 'created_at' ) ], //组件参数配置 { el:root, //显示表单重置按钮 resetBtn: true , //表单提交事件 onSubmit: function (formData) { //formData为表单数据 //按钮进入提交状态 $f.btn.loading(); //重置按钮禁用 $f.resetBtn.disabled(); //重置按钮恢复正常 //$f.resetBtn.disabled(); //按钮进入可点击状态 //$f.btn.loading(false); } }); //获取双向数据绑定的数据规则 model = $f.model(); |
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com