C

OtpField 验证码输入

表单控件

一次性验证码输入框,多格子分别输入数字/字母,自动聚焦下一格。

何时使用

一次性验证码/短信验证码输入。

代码示例

基础用法

tsx
import { OTPField, OTPFieldSeparator } from "@/components/ui/otp-field"

export function Basic() {
return (
  <OTPField>
    <OTPFieldSeparator>Content</OTPFieldSeparator>
  </OTPField>
)
}

状态

tsx
<OTPField>Normal</OTPField>
<OTPField disabled>Disabled</OTPField>

API / Props

OTPField

PropTypeDefault说明
classNamestring自定义样式类名
lengthnumber
valuestring当前值(受控)
onValueChange() => void
maskbooleanfalse
inputClassNamestring
...restReact.HTMLAttributes透传原生 DOM 属性

注意事项

  • Client Component: 使用 "use client",依赖 React hooks/状态,需在客户端渲染。
  • 复合组件: 包含 1 个子组件(OTPFieldSeparator),使用组合模式按需导入。
  • Base UI: 基于 @base-ui/react 无头(headless)原语构建,无障碍(a11y)开箱即用。

📘 完整交互式示例与控件属性请查看 Storybook 文档