赞
踩
根据自己使用的 UI 安装对应的版本
ElementUI 版本
npm i @form-create/element-ui
Iview@2.x|3.x 版本
npm i @form-create/iview
iview/view-design@4.x 版本
npm i @form-create/iview4
Ant-design-vue@1.5.3+ 版本
npm i @form-create/ant-design-vue
form-create的基本用法:
<template> <div> <form-create v-model="Forms" :rule="rule" :option="option"></form-create> </div> </template> <script> export default { name: "Forms", components: {}, data() { return { // 实例对象 Forms: {}, // 表单生成规则数组对象 生成规则:http://www.form-create.com/v2/guide/rule.html // 生成规则数组中一个对象就是一个表单项(是一个json对象),在里面可以对应的表单名称、类型、属性、值、样式、类名、是否必填、错误提示等。 rule: [ { type: "input", // 生成组件的名称(就是表单的名称:如input,radio,checkbox,select,slider等) field: "userName", // 表单组件的字段名称(就是表单的name属性,注:该必须唯一),自定义组件可以不配置 className: "user-name-dom", // 设置组件的class属性 title: "用户名称:", // 组件的名称, 选填 value: "", // 表单组件的字段值(就是表单的value值),自定义组件可以不用设置 props: { placeholder: "请输入用户名称!", disabled: false, readonly: false, clearable: true // 是否显示清空按钮 }, validate: [ { trigger: "blur", required: true, message: "用户名称不能为空!" } ], col: { md: { span: 12 } } }, { type: "input", field: "password", title: "用户密码:", value: "666", props: { // input的表单类型 <input type="">:注:有些表单类型form-create和element-ui专门做成了组件,可以在上面的type中直接用,所以下面有些类型如(radio)在这里会无效哦!! // text 默认。定义单行输入字段,用户可在其中输入文本。默认是 20 个字符。 // button 定义可点击的按钮(大多与 JavaScript 使用来启动脚本) // checkbox 定义复选框。 // color 定义拾色器。 // date 定义日期字段(带有 calendar 控件) // datetime 定义日期字段(带有 calendar 和 time 控件) // datetime-local 定义日期字段(带有 calendar 和 time 控件) // month 定义日期字段的月(带有 calendar 控件) // week 定义日期字段的周(带有 calendar 控件) // time 定义日期字段的时、分、秒(带有 time 控件) // email 定义用于 e-mail 地址的文本字段 // file 定义输入字段和 "浏览..." 按钮,供文件上传 // hidden 定义隐藏输入字段 // image 定义图像作为提交按钮 // number 定义带有 spinner 控件的数字字段 // password 定义密码字段。字段中的字符会被遮蔽。 // radio 定义单选按钮。 // range 定义带有 slider 控件的数字字段。 // reset 定义重置按钮。重置按钮会将所有表单字段重置为初始值。 // search 定义用于搜索的文本字段。 // submit 定义提交按钮。提交按钮向服务器发送数据。 // tel 定义用于电话号码的文本字段。 // url 定义用于 URL 的文本字段。 type: "password", placeholder: "请输入用户密码!" }, col: { md: { span: 12 } } }, { type: "input", field: "summary", title: "个人简介:", value: "", props: { type: "textarea", rows: 3, placeholder: "请输入个人简介!" } }, { type: "radio", field: "sex", title: "性 别:", value: 0, options: [ { label: "先 生", value: 1 }, { label: "女 士", value: 2 }, { label: "人 妖", value: 3, disabled: true }, { label: "未 知", value: 0 } ] }, { type: "checkbox", field: "hobby", title: "爱 好:", value: [1, 3], options: [ { label: "吃喝", value: 1 }, { label: "上班", value: 2, disabled: true }, { label: "旅游", value: 3 }, { label: "运动", value: 4 }, { label: "学习", value: 5, disabled: true } ] }, { type: "select", field: "address", title: "想去哪里:", value: 6, col: { // sx: {span: 24} md: { span: 10 } }, options: [ { label: "内国走走", value: 1 }, { label: "呆在公司", value: 2, disabled: true }, { label: "非洲美洲", value: 3 }, { label: "港澳台游", value: 4 }, { label: "东南亚游", value: 5 }, { label: "澳洲旅游", value: 6 }, { label: "自驾游", value: 7 } ] }, { type: "select", field: "address2", title: "想多选点:", value: [3, 5], col: { md: { span: 14 } }, props: { multiple: true, placement: "bottom" }, options: [ { label: "内国走走", value: 1 }, { label: "呆在公司", value: 2, disabled: true }, { label: "非洲美洲", value: 3 }, { label: "港澳台游", value: 4 }, { label: "东南亚游", value: 5 }, { label: "澳洲旅游", value: 6 }, { label: "自驾游", value: 7 } ] } ], // 组件参数配置 option: { // 显示重置表单按扭 resetBtn: true, // 表单提交按扭事件 onSubmit: formData => { alert(JSON.stringify(formData)); console.log("获取表单中的数据:", formData); //按钮进入提交状态 // this.fApi.btn.loading(); //重置按钮禁用 // this.fApi.resetBtn.disabled(); //按钮进入可点击状态 // this.fApi.btn.finish(); } } }; }, mounted() { }, methods: { } }; </script>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。