element-ui <el-input> blur正则匹配之后 ,v-model数据未未更新的问题

需求:输入非数字的自动过滤掉,小数部分大于2位数的自动过滤,整数大于6位数的自动过滤,可输入负数。

问题:项目用了element-ui,这里用了blur光标离开事件,checknumMinusp2是公用方法,比如输入非法的数字"6yyy",光标移走文本框文字确实变成6了,这时候绑定的minPrice仍然为6yyy,如何让绑定的元素minPrice更新(checknumMinusp2为公用方法,就无法写固定的的minPrice)

<el-input v-model="minPrice" placeholder="" @blur="checknumMinusp2($event)"></el-input>


data() {

    return {

      minPrice: '', //

      }

 },


  /*

     *负数整数和小数点  为小数字点2位(公用方法)

     */

    Vue.prototype.checknumMinusp2 = function(e) {

      var reg = /^(-?[1-9]\d{0,5}\.\d{1,2}|-?0\.\d{1,2}|-?[1-9]\d{0,5}|0)/;

      if(reg.test(e.target.value)){

          e.target.value = e.target.value.match(reg)[0]

      }else{

        e.target.value = ''

      }

    }


偶然的你
浏览 4277回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript