html代码:
<el-form-item prop="goodsNum">
<el-input @input="keyupNum2(obj.goodsNum)" type="tel" v-model="obj.goodsNum" placeholder="输入补货量" maxlength="4" >
</el-form-item>
JS代码:
keyupNum2(item){
var str = item.toString().replace(/[^\d]/g,'')
if(item){
var that =this
setTimeout(function () {
that.obj.goodsNum = Number(str)
},20)
}else{
this.obj.goodsNum =''
}
},
如果不用@input事件的话,捕捉不到中文输入法下通过回车等按键输入的英文字母及其他字符。setTimeout是为了在输入框的值改变后,再重新替换处理变量的值。涉及到input框有自带的默认时间处理顺序。所以使用setTimeout。