我正在尝试使用一系列v-text字段组件来构建SMS验证码组件,因此我需要将输入限制为单个数字。
<v-text-field
v-for="(num, key) of code"
:key="key"
type="number"
outlined
v-model.number="num.char"
></v-text-field>
我发现了其他的答案,建议使用道具,如maxlength
或甚至pattern
,但这些似乎是旧的答案V1的Vuetify…我正在使用最新版本的V2
我可以连接一个方法到@input
事件手动检查,但感觉可能有一个更简单的解决方案,我错过了
您可以在数据函数中定义规则:
data() {
return {
rules: {
counter: value => value.length <= 1 || 'Max 1 character',
}
}
}
,然后在模板
<v-text-field
v-for="(num, key) of code"
:key="key"
type="number"
outlined
v-model.number="num.char"
:rules="[rules.counter]"
></v-text-field>
或者仍然可以使用maxlength
属性