给ELement 穿梭框加表单必填项验证,提示文字总是存在问题。该页面有提交功能
背景
目前项目中form表单提交中有地方用到了穿梭框,穿梭框是必填项,需要rules 验证是否选择了数据,一般穿梭框是change触发
问题
但是选择change触发,会出现如下问题,也就是用户一选,下面就触发校验规则了,用户体验很差

尝试解决方案
将校验触发改成blur,啊哈解决

但是又碰到新的问题
点击"确定&继续创建"按钮后 触发字段未空的校验规则,

接着穿梭框即使选了东西,提示文字依然在,好的,又造了一个bug

解决方案
添加数据监听方法
watch: {
'createForm.sectorList': function (newVal) {
if (newVal.length > 0) {
this.$refs.createForm.validateField('sectorList');
}
},
'createForm.dimensionList': function (newVal) {
if (newVal.length > 0) {
this.$refs.createForm.validateField('dimensionList');
}
}
},
完美解决:

思考
change,是只要穿梭框发生变化,就触发校验规则,所以出现初始问题
blur 要是没有提交功能,确实很好,但是为什么点击“确定”按钮后触发一次校验规则后不消失,暂时没发现问题所在

浙公网安备 33010602011771号