el-input 如何校验只可以输入正整数
当然可以!你可以直接在 @input
事件中进行简单的处理,而不使用 methods
。下面是一个更简洁的示例:
<template>
<el-input
v-model="inputValue"
@input="inputValue = inputValue.replace(/[^1-9]/g, '')"
placeholder="请输入正整数"
></el-input>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
}
};
</script>
说明
- 在
@input
事件中,直接使用正则表达式来替换非正整数的输入。 - 这样做更简洁,不需要定义额外的方法。
- 不过这样会使得el-input的 max失效
当然可以!你可以直接在 @input
事件中处理逻辑,而不使用 methods
。以下是更新后的示例代码:
<template>
<el-input
v-model="inputValue"
@input="inputValue = inputValue.replace(/[^1-9]\d*/g, '').slice(0, 4); if (inputValue > 1200) inputValue = '1200'"
placeholder="请输入正整数(最大值1200)"
></el-input>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
}
};
</script>
说明
- 输入校验:
replace
方法用于过滤掉非正整数的输入。 - 最大值限制:直接在同一行检查,如果输入值大于1200,则将其重置为1200。
slice(0, 4)
:确保输入值不会超过4位(最大值1200有4位)。
这样实现了在 @input
事件中直接处理逻辑,保持代码的简洁性。
相信坚持的力量,日复一日的习惯.