el-input type=number 限制输入e

364 阅读1分钟

场景

  • 有这么一个输入框,只能输入数字

image.png

  • 使用的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
        },