likes
comments
collection
share

vue+element-ui的form表单组件二次封装(Vue项目)

作者站长头像
站长
· 阅读数 20

新增功能2022-04-06

1、新增可以显示文本功能  

页面效果如下

只需要 配置textShow:true 是否开启文本显示;textValue:'' 展示的文本 vue+element-ui的form表单组件二次封装(Vue项目)

一、简介

HTML 一行代码,可实现表单输入框/日期选择/下拉选择/复选框选中等及规则校验功能

 <t-form
    :ref-obj.sync="formOpts.ref"
  	:formOpts="formOpts"
  	:widthSize="2"
  	@handleEvent="handleEvent"
    />
    <--注意:ref-obj(form校验规则相当于ref)必须要‘.sync’修饰符--!>

二、最终效果

三、参数配置

1、Attributes

参数说明类型是否必须
refObjform 表单校验规则方法 (可以参考 elementUI Form 表单方法中的 validate)obj
className自定义类名String
labelPosition改变表单项 label 与输入框的布局方式(默认:right) /topString
widthSize每行显示几个输入项(默认两项) 最大值 4Number
formOpts表单配置项Object
---listTypeInfo下拉选择数据源(type:'select'有效)Object
---fieldListform 表单每项 listArray
------slotName自定义表单某一项输入框slot
------childSlotName自定义表单某一下拉选择项子组件插槽(el-option)slot
------compform 表单每一项组件是输入框还是下拉选择等(可使用第三方 UI 如 el-select/el-input 也可以使用自定义组件)String
------bind表单每一项属性(继承第三方 UI 的 Attributes,如 el-input 中的 clearable 清空功能)默认清空及下拉过滤Object
------typeform 表单每一项类型String
------widthSizeform 表单某一项所占比例(如果占一整行则设置 1)Number
------widthform 表单某一项所占实际宽度String
------arrLabeltype=select-arr 时,每个下拉显示的中文String
------arrKeytype=select-arr 时,每个下拉显示的中文传后台的数字String
------labelform 表单每一项 titleString
------labelRender自定义某一项 titlefunction
------valueform 表单每一项传给后台的参数String
------rules每一项输入框的表单校验规则Object/Array
------list下拉选择数据源(仅仅对 type:'select'有效)String
------event表单每一项事件标志(handleEvent 事件)Array
------className如果某一项需要一行显示则设置:className:'t-form-block'String
---formData表单提交数据(对应 fieldList 每一项的 value 值)Object
---labelWidthlabel 宽度String
---rules规则(可依据 elementUI el-form 配置————对应 formData 的值)Object/Array
---operatorList操作按钮 listArray

2、Events

事件名说明返回值
handleEvent单个查询条件触发事件fieldList 中 type/查询条件输入的值/fieldList 中 event 值

3、Methods

事件名说明参数
resetFields重置表单-
clearValidate清空校验-

六、组件地址

gitHub组件地址

gitee码云组件地址

七、相关文章

基于ElementUi再次封装基础组件文档


vue+element-ui的table组件二次封装