elementui+vue2 input输入框限制只能输入数字
warning:
这篇文章距离上次修改已过255天,其中的内容可能已经有所变动。
在Vue2中使用Element UI时,可以通过给el-input
组件添加@keydown.native
事件处理器来限制只能输入数字。以下是一个例子:
<template>
<el-input v-model="inputValue" @keydown.native="handleKeydown"></el-input>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
methods: {
handleKeydown(e) {
// 允许输入数字(0-9)、Backspace、Delete、左箭头、右箭头
if (!((e.keyCode >= 48 && e.keyCode <= 57) ||
[8, 46, 37, 39].includes(e.keyCode) ||
(e.keyCode === 189 && e.target.value === '')) &&
e.keyCode !== 189) {
e.preventDefault();
}
}
}
};
</script>
在这个例子中,handleKeydown
方法会在用户键盘输入时被触发。该方法会检查按下的键是否是数字键、Backspace、Delete、左右箭头键,或者是负号(在其他输入法如中文输入法下)。如果不是这些键,则通过e.preventDefault()
阻止输入。注意,负号的检查条件是键为负号且输入框为空,以避免在输入正数时阻止负号输入。
评论已关闭