项目场景:
表单内配置用户标签,可配置多个,一个标签全部项配置完毕才可新增。解决方案:
官方文档validateField支持数组,并且它的回调函数是每个元素调一次。如果想实现需求中的校验全部项是否都配置完毕就需要用到Promise.all()。
<template>
<div
v-for="(tagItem, index) in form.detainConfigList"
:key="index"
>
<el-form-item
:prop="'detainConfigList.' + index+'.userTags'"
:rules="[{ required: true, message: '请选择用户标签', trigger: ['blur', 'change'] }]"
:label="'选择用户标签'+(index+1)+':'"
>
......
<el-button
v-if="index === form.detainConfigList.length-1"//仅最后一个标签可新增
class="button-box"
type="primary"
@click="addCardPackage(index)"
>
新增
</el-button>
<el-button
class