Skip to content

PinInput

PIN 码输入框,支持数字/字母模式。包含 PinInputRoot(容器)与 PinInputInput(单格)。

Anatomy

  • PinInputRoot输入容器,管理整体 modelValue 与 complete 事件
    • PinInputInput单个输入格,通过 index 指定位置

基本用法

6 位数字 PIN

使用 v-model 绑定字符串数组,输入满时触发 complete。

掩码模式

mask

开启掩码后,输入内容以占位符显示,适合密码场景。

字母模式

type='alphabetic'

允许输入字母,适合邀请码等场景。

API

PinInputRoot Props

名称 类型 默认值 说明
modelValuestring[]受控值,每格一个字符
type'numeric' | 'alphabetic''numeric'允许输入的字符类型
maskboolean是否以占位符显示(密码模式)
disabledboolean禁用整个输入组
otpboolean启用浏览器 OTP 自动填充提示
classstring容器 class

其余 props 透传至 reka-ui PinInputRoot,详见 reka-ui 文档

PinInputRoot Events

事件 Payload 说明
update:modelValue(value: string[])输入值变化
complete(value: string[])所有格子均填满时触发

PinInputInput Props

名称 类型 默认值 说明
indexnumber必填。当前格子的位置索引,从 0 开始
classstring单格 class

可访问性

  • 基于 reka-ui PinInput,支持键盘方向键在各格之间移动焦点
  • 粘贴剪贴板内容时自动拆分填入各格
  • 建议通过 otp 属性启用 autocomplete="one-time-code",辅助验证码自动填充
  • 为整个输入组外围提供 <Label>aria-label 说明用途

基于 MIT 协议发布(内部使用)