一、为什么
因为在数学里e 代表无理数,e是自然对数的底数,同时它又是一个无限不循环小数,所以我们在输入 e 时,输入框会默认 e 是数字,从而没有对它进行限制。
二、解决方案
小提示:vue下监听事件需要加native,原因:只有添加native才能监听到原生事件
1、原生input下
<input type="number" value="" keydown="onFormatInputLimit"/>
2、Vue/Vue-ui组件
<el-input type="number" v-model="value" @keydown.native="onFormatInputLimit" />
// 不允许输入e
// 存在弊端:中文输入法下依然可以输入e,需要针对性做处理
onFormatInputLimit(event) {
if (event.key === 'e') {
event.returnValue = false
return false
}
return true
}