验证码输入 InputOtp beta
用于输入一次性密码(OTP)。
基础用法
Value: 123
自定义长度
通过 length 属性自定义输入框数量。
类型
提供 outlined(默认)、filled、underlined 三种类型。
Outlined (Default)
Filled
Underlined
尺寸
提供 large、default、small 三种尺寸。
Large
Default
Small
禁用与只读
支持禁用与只读状态。
Disabled
Readonly
掩码
使用 mask 属性隐藏输入字符。
Value: 123
分隔符
自定义 OTP 字段之间的分隔符。
/////
——
•••••
自定义校验
通过 validator 校验输入字符,使用 inputmode 指定键盘类型。
Numbers only
Letters only
API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | OTP 值。数字不能有前导零,因此 modelValue 仅在初始化时允许为 number。 | string / number | undefined |
| length | OTP 字段数量 | number | 6 |
| validator | 自定义校验函数 | Function | () => true |
| inputmode | 原生 inputmode 属性 | string | — |
| type | OTP 字段类型 | enum | 'outlined' |
| size | OTP 字段尺寸 | enum | 'default' |
| mask | 是否启用密码模式 | boolean | — |
| disabled | 是否禁用 | boolean | undefined |
| separator | 字段间分隔符 | string / VNode / Function | — |
| validate-event | 是否触发表单校验 | boolean | true |
| readonly | 同原生 input 的 readonly | boolean | false |
| id | 原生 id 属性 | string | — |
| aria-label a11y | 原生 aria-label 属性 | string | — |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| update:modelValue | 值更新时触发 | Function |
| change | 失焦后值变化时触发 | Function |
| finish | 全部字段填写完成时触发 | Function |
| focus | 聚焦时触发 | Function |
| blur | 失焦时触发 | Function |
Slots
| 插槽名 | 说明 | 类型 |
|---|---|---|
| separator | 字段间分隔符 | object |
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| inputRefs | HTML input 元素数组 | object |
| focus | 聚焦指定 OTP 输入框 | Function |
| blur | 失焦当前 OTP 输入框 | Function |