InputOtp 一次性密码输入框 ^(beta)

用于输入一次性密码

基础用法

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

InputOtp API

Attributes

属性名说明类型默认值
valueOTP 各框的值。数字不能有前导零,官方仅允许初始化时传数字string / numberundefined
lengthOTP 输入框数量number6
validator自定义校验函数,返回 false 时该字符不写入Function() => true
inputmode原生 inputmode 属性string—
type输入框类型enumoutlined
size尺寸enum—
mask是否密码模式(掩码显示)boolean—
disabled是否禁用booleanundefined
readonly同原生 readonlybooleanfalse
validate-event是否触发表单校验booleantrue
id原生 id 属性string—
aria-label原生 aria-label 属性string—
separator框之间的分隔符,字符串 / ReactNode / (index) => ReactNodestring / ReactNode / Function—
class-name / style根元素类名与样式string / object—

Slots

插槽名说明React 写法
separator框之间的分隔符,作用域参数为当前框下标;提供即渲染separatorSlot={(index) => ReactNode}

Events

事件名说明参数
onChange值更新,对应官方 update:modelValueFunction
onValueChange失焦且值相比获焦时变化时触发,对应官方 changeFunction
onFinish所有框填满时触发,对应官方 finishFunction
onFocus获焦时触发(跳过内部框之间的焦点转移)Function
onBlur失焦时触发(跳过内部框之间的焦点转移)Function

Exposes

通过 ref 获取,对应官方 defineExpose。

名称说明类型
inputRefsHTML input 元素数组array
focus聚焦到指定 OTP 框Function
blur让当前聚焦的 OTP 框失焦Function