场景:点击【添加】或删除的时候改变数组,数组格式
data(){
return {
formData:{
groupIdList:[]//[12,23,34]
},
rules:{
'groupId': [
{ required: true, message: '请选择客群', trigger: 'change' },
{ required: true, message: '请选择客群', trigger: 'blur' },
],
}
}
}
<el-form ref="envelopeForm" :rules="rules" :model="formData">
<div class="clearfix" v-for="(item, index) in formData.groupIdList" :key="index">
<el-form-item class="fl"
:label="'客群' + (index + 1)+ ':'"
:prop="'awardRule.groupIdList.'+index"
:rules="rules.groupId">
<el-select placeholder="请输入关键词" v-model="formData.groupIdList[index]" clearable>
<el-option v-for="(op, k) in groupOptions" :key="k" :label="op.name" :value="op.id"></el-option>
</el-select>
</el-form-item>
<el-button>删除</el-button>
</div>
<el-form-item>
<el-button>添加</el-button>
</el-form-item>
</el-form>
:prop="'awardRule.groupIdList.'+index"
这里的格式为 : 【awardRule.groupIdList】为el-form绑定的数据下的参数,不能写为【formData.awardRule.groupIdList】
以上是校验的是数组,且格式为groupIdList:[1,23,3]
;
如果校验的是
groupIdList:{key1:{id:'1'},key1:{id:'2'}}
或groupIdList:[{id:'1'},{id:'2'}]
,
则
:prop="'awardRule.groupIdList.'+index"
修改为
:prop="'awardRule.groupIdList.'+index+'.id'"