vue3 自定义指令 对绑定input的值进行替换

163 阅读1分钟
 <a-input class="ivu-input" v-trim v-model:value="formState.oldPassword" type="password" />



directives: {
    trim: {
      mounted(el) {
        el.addEventListener('input', function () {
          //进行验证
          checkedfun(el);
        });
    
        function checkedfun(el) {
          let reg = new RegExp('^[A-Za-z0-9]*$');
          if (!reg.test(el.value)) {
            el.value = el.value.replace(/[^A-Za-z0-9]+/g, '');
            el.dispatchEvent(new Event('input')); //调用input事件使vue v-model绑定更新
          }
        }
      },
    },
  },