vue2 全局自定义指令

2022-11-24  本文已影响0人  洪锦一

加在 main.js

防抖

Vue.directive('preventReClick', {
  inserted(el, binding) {
    el.addEventListener('click', () => {
      if (!el.disabled) {
        el.disabled = true
        setTimeout(() => {
          el.disabled = false
        }, binding.value || 2000)
      }
    })
  }
});

只能输入数字和小数点

Vue.directive('inputNumber', {
  inserted(el) {
    el.oninput = () => {
      el.children[0].value = el.children[0].value.replace(/[^\d.]/g, "");//先把非数字的都替换掉,除了数字和. 
      el.children[0].value = el.children[0].value.replace(/^\./g, "");//必须保证第一个为数字而不是. 
      el.children[0].value = el.children[0].value.replace(/\.{2,}/g, "");//保证只有出现一个.而没有多个. 
      el.children[0].value = el.children[0].value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); //保证.只出现一次,而不能出现两次以上 
    };
  }
});
上一篇下一篇

猜你喜欢

热点阅读