场景
- 有这么一个输入框,只能输入数字
- 使用的UI框架是Element
<el-input type="number" v-model.trim="form[item]"></el-input>
- 乍一看好像没有问题,测试中可以输入字母e
解决
- e和小数点也属于数字的一部分呀,就是原生的input也存在这个问题,要想完全解决只能靠js控制
<el-input type="number" v-model.trim="form[item]" @keydown.native="inputLimit"></el-input>
const inputLimit = (e) => {
const key = e.key
if (key == 'e' || key == 'E') {
e.returnValue = false//这个很重要
return false
}
return true
},