Skip to content

BizVerifyCodeInput 验证码输入 ​

短信 / 邮箱验证码分格输入(OTP):多 input 逐格方案,输入自动跳格、退格回跳、整段粘贴自动分发、左右方向键移动、字符类型过滤(type)、密码圆点遮显(mask)、错误态红框抖动(error)、内置重发倒计时按钮。输满自动触发 complete。登录 / 注册二次验证、换绑手机邮箱、支付密码、敏感操作复核。

基础用法 ​

-

当前值:(未输入) · 支持整段粘贴自动分发

v-model 单字符串值;separator-at 在指定格后显示分隔符(6 位码 3+3);输满触发 complete。

纯数字过滤 ​

4 位纯数字(字母无法输入,移动端唤起数字键盘)

type="number" 仅数字可输入(字母被过滤),移动端 inputmode 唤起数字键盘;length 自定义格数。

密码遮显与尺寸 ​

密码态圆点遮显(输入值仍可通过 v-model 获取)

mask 圆点遮显(值仍经 v-model 获取),size 三档尺寸(对齐 Element Plus)。

重发倒计时 ​

show-resend 内置重发按钮:点击外抛 resend(调发送接口)并自动进入倒计时,resend-seconds 自定义秒数。

错误态 ​

输满校验,正确码为 123456;错误时红框 + 抖动,继续输入自动消除

error 置 true 触发红框 + 一次抖动动画;业务在 complete 里校验,重新输入时自行置回 false。

外部控制 ​

禁用
只读
autofocus 自动聚焦;expose focus(聚焦第一空格)/ clear(清空并聚焦);禁用与只读态。

Props ​

属性名类型默认值说明
v-modelstring''输入值(单字符串,长度等于 length)
lengthnumber6格数
type'number' | 'letter' | 'mixed''mixed'字符类型过滤:纯数字 / 纯字母 / 字母数字
maskbooleanfalse密码态:圆点遮显
size'large' | 'default' | 'small''default'尺寸
disabledbooleanfalse整体禁用
readonlybooleanfalse只读
autofocusbooleanfalse挂载后自动聚焦第一格
errorbooleanfalse错误态:红框;置 true 时触发一次抖动动画
separator-atnumber—在第 N 格后显示分隔符(如 6 位码传 3)
separatorstring'-'分隔符文案
show-resendbooleanfalse内置重发倒计时按钮
resend-textstring'重新发送验证码'重发按钮文案
resend-secondsnumber60倒计时秒数

Events ​

事件名参数说明
update:model-value(value: string)输入值变化(v-model)
complete(value: string)输满最后一格时触发(自动失焦)
resend()点击重发按钮(组件同时自动开始倒计时)

Expose ​

名称类型说明
focus() => void聚焦第一个空格
blur() => void所有格失焦
clear() => void清空全部格并聚焦首格
startCountdown() => void手动启动重发倒计时(如接口返回后)

TIP

与 BizSliderCaptcha 组合使用覆盖人机验证 + 动态码双重校验场景;重发倒计时能力独立于 BizCountdownButton(本组件内聚为输入区附属按钮形态)。