Vue Elemen-UI实现动态增减表单项并校验
表单动态新增列表数据,并校验
基础数据
data(){
return {
formData:{
dataLists:[{property1:'',property2:''},{property1:'',property2:''}]
},
selectList:['属性1','属性2']
}
}
注意:有人疑惑为啥把dataLists包裹在formData对象里,不能直接用吗?能用界面会显示,但v-model接收的是对象,dataLists是数组, 因此会报错。如果你不想把他放到对象里可以利用计算属性把他转换为对象再用。
template
<el-form
v-if="nowChanceStau === 'addInfo'"
ref="formData"
:model="formData"
:rules="rules"
class="el-form"
>
<div
v-for="(dataList,index) in formData.dataLists"
:key="dataList.key"
>
<el-form-item
:label="'列' + (index + 1) + '属性1' "
:prop="'dataList.' + index + &