给ELement 穿梭框加表单必填项验证,提示文字总是存在问题。该页面有重复提交功能

发布时间 2023-11-24 11:36:04作者: 衣囧~

背景

目前项目中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 要是没有继续创建功能,确实很好,但是为什么点击“确定&继续创建”按钮后触发一次校验规则后不消失,暂时没发现问题所在

完结撒花