# 组件说明文档 ### form.vue ### props |参数|类型|默认值|是否必填|说明| |:-:|:-:|:-:|:-:|:-:| |fields|Array|`-`|是|字段相关都在这里,用来自动输出,详情见下面| |submitText|String|`保存`|否|默认保存按钮的文字| |rules|Object|`-`|否|校验规则,不会找el-form的例子,不过使用的async-validator这个依赖为基础,会写这个也可以~~(那就厉害了,反正我是不行)~~| |isNew|Boolean|`-`|是|修改还是添加的提示| |data|Object|`-`|否|修改传来的数据| |needSave|Boolean|false|否|是否禁用保存按钮| |useEnter|Boolean|true|否|使用回车提交| |reset|Boolean|true|否|提交后是否重置表单| ### fields >Array类型 必填 >> |参数|类型|默认值|是否必填|说明| |:-:|:-:|:-:|:-:|:-:| |label|String|`-`|是|显示的字段中文| |type|String|input|否|这个字段要用什么类型来输出 input的基本类型可选值:date,datetime,radio,checkbox,select,text(只显示值),editor(富文本编辑器),password| |required|Boolean|`-`|否|是否必须输入| |model|String|`-`|是|字段名| |placeholder|String|`-`|否|占位,正常用,只是个透传| |options|object|`-`|否|标签的属性设置,例如:textarea 需要显示剩余字数,或者input限制长度,都往这里写,key-value形式(键值对,json的基本了解,不知道百度,具体属性看你具体用那个组件,那个组件有什么属性,瞎写不一定好使)| |custom|Boolean|`-`|否|是否使用自定义插槽| |tip|String|`-`|否|提示语,例如:请输入11位电话号码| |labelWidth|String|`120px`|否|表单label宽度,element的,默认120px| |format|Function|`-`|否|当type = text 时需要将该字段内容转换,可以使用format| ### slot > |插槽名|说明| |:-:|:-:| |options|fields中type为select的,选项都写在这个插槽中,多个select则需要区分options所属问题| |radios|fields中type为radio的,选项都写在这个插槽中,多个radio则需要区分radios所属问题| |checkbox|fields中type为checkbox的,选项都写在这个插槽中,多个checkbox则需要区分checkboxs所属问题| |custom|自定义插槽,完全自己去写| |submit|提交按钮部分,当needSave为false时才可以使用| >>关于自定义的用法: >>在fields中,custom:true的情况即需要自定义,写法如下 >>`` >> |参数名|说明| |:-:|:-:| |item|fields循环出来的每一项| |form|组件内部的表单| |fieldChange|组件内部的修改方法,此方法不一定必须使用,看情况来;参数:{model:xxx,value:XXX}(model:字段名,value:值)| >>在使用时,此插槽内的v-model可以写成form[item.model],也可以写成form.字段名 >>例如``或者`` >> **如果有多处需要自定义,请区分开去写** *** ### upload |参数|类型|默认值|是否必填|说明| |:-:|:-:|:-:|:-:|:-:| |url|String|`-`|是|上传地址| |limit|Number|`-`|是|限制上传数量| |data|any|`-`|否|上传数据| |type|String|`-`|否|上传返回的字段| |isBtn|Boolean|false|否|是否只显示按钮| |showList|Boolean|true|否|是否显示上传列表| |accept|String|`-`|否|可以上传的文件类型,不写就没限制| |tip|String|`-`|否|提示信息| |listType|String|picture-card|否|上传文件列表显示类型| >### method >|方法名|返回参数|说明| |:-:|:-:|:-:| |upload|{type,data}|上传成功返回