1. el-input设置了type=“number“还能输入e和负数
<el-input v-model="name" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"/>
2.el-input设置了type=“number“, 只能输入数字和英文逗号
<el-input
v-model.number="query.ruleId"
oninput="query.ruleId.replace(/[^\d,]/g,'')"
type="number"
placeholder="请输入纯数字的策略ID"
/>
3.el-input 设置了type=“number“,但是有上下箭头的样式
// 去除上下箭头
::v-deep input::-webkit-outer-spin-button,
::v-deep input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
}
::v-deep input[type='number'] {
-moz-appearance: textfield !important;
}
// 去除光标偏移
::v-deep .el-input__inner{
line-height: 1px !important;
}
4.禁止键盘上下键事件
mounted() {
this.showkey();
},
methods: {
// el-input type=number时,如果点击键盘上下可以改变input中的值,这个方法是禁止改变
showkey() {
document.onkeydown = function () {
if (window.event.keyCode === 38 || window.event.keyCode === 40) {
window.event.returnValue = false;
}
};
},