<template> <el-input v-model="inputValue" :oninput="handleInput" :maxlength="5" :validate-event="false" /></template><script>export default { data() { return { inputValue: '' } }, methods: { handleInput() { let value = this.inputValue.replace(/\D/g, '') // 只保留数字 if (value.length > 5) { this.$message.warning('长度不能超过5位') this.inputValue = value.substr(0, 5) // 截取前5位 } else { this.inputValue = value } } }}</script>无效
时间: 2024-02-20 08:57:19 浏览: 54
vue-pattern-input:使用RegExp限制输入
根据你提供的代码,我发现你使用了 Vue.js 框架,但是在绑定 :oninput 事件时,语法不正确。应该使用 v-on 指令来绑定事件,如下所示:
```
<template>
<el-input v-model="inputValue" v-on:input="handleInput" :maxlength="5" :validate-event="false" />
</template>
<script>
export default {
data() {
return {
inputValue: ''
}
},
methods: {
handleInput() {
let value = this.inputValue.replace(/\D/g, '') // 只保留数字
if (value.length > 5) {
this.$message.warning('长度不能超过5位')
this.inputValue = value.substr(0, 5) // 截取前5位
} else {
this.inputValue = value
}
}
}
}
</script>
```
在上述代码中,使用了 v-on:input 指令来绑定输入框的 input 事件,同时在 handleInput 方法中对输入框的内容进行了处理。
希望这个回答能够对你有所帮助。如果你还有其他问题,欢迎继续提问。
阅读全文