跳至正文

OTP input

用于一次性验证码的输入框,每个字符占一个输入槽。

浏览器
Chrome 123+Firefox 121+Safari 17.5+
层级
2
压缩后大小
1.53 kB
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
公开契约
测试环境

交互示例

OTP Input

Default

API

OtpInput.Root

属性类型默认值说明
valuestring—当前验证码,使字段受控。
defaultValuestring""非受控字段的初始验证码。
onValueChange(value: string) => void—验证码变化时,使用新验证码调用。
onComplete(value: string) => void—验证码达到配置长度时调用。
lengthnumber6验证码的字符数。
type"numeric" | "alphanumeric""numeric"输入或粘贴时保留哪些字符。
maskbooleanfalse隐藏输入槽中已输入的字符。
disabledbooleanfalse禁用隐藏输入框,并设置data-disabled属性。
autoFocusbooleanfalse字段挂载时聚焦隐藏输入框。
idstring—应用于渲染根元素的id。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

OtpInput.Slot

属性类型默认值说明
index*number—此输入槽显示验证码中的哪个位置。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

OtpInput.HiddenInput

属性类型默认值说明
autoFocusboolean—挂载时聚焦此输入框,覆盖根设置。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

键盘

按键操作
Tab将焦点移入或移出控件
Enter / Space获得焦点时激活(按钮类控件)

无障碍

尽可能使用语义化HTML。可在交互示例中检查渲染的标记;仅在原生元素无法满足需求时添加ARIA。

样式钩子

data-disabled
本页由机器翻译,尚未经人工审核。