赞
踩
<!--el-select-->
<el-form-item label="等级" prop="level">
<el-select v-model="editForm.level" placeholder="请选择级别" auto-complete="off"
>
<el-option label="1级" value="1"></el-option>
<el-option label="2级" value="2"></el-option>
</el-select>
</el-form-item>
js:
rule{
level: [
{required: true, message: '请选择等级', trigger: 'blur'}
]
}
我的prop和v-model的属性名也是对应的,就是很奇怪,如果鼠标从下拉列表里面移动出来,他不会提示信息,只有在最后面提交表单的时候才会提示。没有达到我的需求。
return {
editForm: {
level: null,
},
改为
return {
editForm: {
level: [],
},
即将初始值改成一个空列表,就能够实现提示的信息,但是这种方法存在缺陷,就是在初始化的时候,直接就给你提示了,而不是你从el-select里面出来且没选的情况提示。
rule{
level: [
{required: true, message: '请选择等级', trigger: 'change'}
]
}
@blur.capture.native="onBlur('editForm','level')"
,如下,ref="editForm"
,将ref和model绑定的值作为参数传入,<el-select v-model="editForm.level" placeholder="请选择级别" auto-complete="off"
@blur.capture.native="onBlur('editForm','level')"
>
methods: {
onBlur(ref,type){
this.$refs[ref].validateField(type)
},
}
这样就能解决blur事件不生效的问题了,结果如图,如果没有选择,点到其他地方就会提示了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。