最开始遇到这个问题的时候,上网查找的办法基本都是下面这种:

<input type="number" onKeypress=”return (/[\d]/.test(String.fromCharCode(event.keyCode)))” />

给input添加onKeypress。

但是!!!
在vue项目中,我刚开始给el-input添加上这个属性时,确实生效了,我提交代码以后,发现这里的代码变成了on-keypress,然后我再怎么修改都不生效了。
ok! fine
继续查找资料,然后就歪打正着的找到了解决办法:

<el-input v-model.number="val" type="tel" min="0" max="102400" @input="val = String(val).replace(/[^\d]/g,'')" 
/>

input的v-model修改为v-model.number,type修改为tel,input事件用字符串的replace()方法将非数字的内容替换为空即可,然后input就只可以输入正整数了。

Logo

前往低代码交流专区

更多推荐