美文网首页
vue 自定义指令input 只能输入正整数

vue 自定义指令input 只能输入正整数

作者: 魔仙堡杠把子灬 | 来源:发表于2020-05-09 13:44 被阅读0次

    昔有朝歌夜弦之高楼,上有倾城倾国之舞袖。

    我的github: 李大玄
    我的私人博客: 李大玄
    我的简书: 李大玄
    我的CSDN: 李大玄

    1. 创建文件(自定义指令的文件)


      在这里插入图片描述
    import Vue from 'vue'
    // 针对 el-input做的限制,只能输入正整数
    Vue.directive('Int', {
      bind: function (el) {
        const input = el.getElementsByTagName('input')[0]
        input.onkeyup = function (e) {
          if (input.value.length === 1) {
            input.value = input.value.replace(/[^0-9]/g, '')
          } else {
            input.value = input.value.replace(/[^\d]/g, '')
          }
          trigger(input, 'input')
        }
        input.onblur = function (e) {
          if (input.value.length === 1) {
            input.value = input.value.replace(/[^0-9]/g, '')
          } else {
            input.value = input.value.replace(/[^\d]/g, '')
          }
          trigger(input, 'input')
        }
      }
    })
    const trigger = (el, type) => {
      const e = document.createEvent('HTMLEvents')
      e.initEvent(type, true, true)
      el.dispatchEvent(e)
    }
    
    
    1. 在main.js 进行引入 然后就可以使用了


      在这里插入图片描述
      在这里插入图片描述

    相关文章

      网友评论

          本文标题:vue 自定义指令input 只能输入正整数

          本文链接:https://www.haomeiwen.com/subject/nikknhtx.html