解决Element-UI el-select多选下拉菜单校验时,默认触发问题
问题描述:
在使用el-select多选下拉菜单时,如果当前需求需要校验的话,可能会出现页面加载完毕,多选菜单触发校验问题。
出现原因
如果data中form表单绑定的接收对象对应的属性值为" "时(单选默认为空字符串),多选菜单会立即触发表单校验。
<el-select placeholder="请选择" multiple v-model="form.account" size="small">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option
</el-select>
<script>
export default {
data() {
return {
form: {
account: '',
},
rules: {
account: [
{ required: true, message: '账号必选', trigger: 'change' }
]
}
}
}
}
</script>
解决
因为select启用了multiple多选,那么相应的字段应该是数组,而不是string或其他类型 把多选下拉菜单对应的v-modle属性默认值赋值为[ ],多选校验规则就会变得理想,方法纯属个人见解,有更好的方法希望大家提出!
form: {
account: []
}```