Appearance
BizVerifyCodeInput 验证码输入
短信 / 邮箱验证码分格输入(OTP):多 input 逐格方案,输入自动跳格、退格回跳、整段粘贴自动分发、左右方向键移动、字符类型过滤(type)、密码圆点遮显(mask)、错误态红框抖动(error)、内置重发倒计时按钮。输满自动触发 complete。登录 / 注册二次验证、换绑手机邮箱、支付密码、敏感操作复核。
基础用法
-
当前值:(未输入) · 支持整段粘贴自动分发
纯数字过滤
4 位纯数字(字母无法输入,移动端唤起数字键盘)
密码遮显与尺寸
密码态圆点遮显(输入值仍可通过 v-model 获取)
重发倒计时
错误态
输满校验,正确码为 123456;错误时红框 + 抖动,继续输入自动消除
外部控制
禁用
只读
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| v-model | string | '' | 输入值(单字符串,长度等于 length) |
| length | number | 6 | 格数 |
| type | 'number' | 'letter' | 'mixed' | 'mixed' | 字符类型过滤:纯数字 / 纯字母 / 字母数字 |
| mask | boolean | false | 密码态:圆点遮显 |
| size | 'large' | 'default' | 'small' | 'default' | 尺寸 |
| disabled | boolean | false | 整体禁用 |
| readonly | boolean | false | 只读 |
| autofocus | boolean | false | 挂载后自动聚焦第一格 |
| error | boolean | false | 错误态:红框;置 true 时触发一次抖动动画 |
| separator-at | number | — | 在第 N 格后显示分隔符(如 6 位码传 3) |
| separator | string | '-' | 分隔符文案 |
| show-resend | boolean | false | 内置重发倒计时按钮 |
| resend-text | string | '重新发送验证码' | 重发按钮文案 |
| resend-seconds | number | 60 | 倒计时秒数 |
Events
| 事件名 | 参数 | 说明 |
|---|---|---|
| update:model-value | (value: string) | 输入值变化(v-model) |
| complete | (value: string) | 输满最后一格时触发(自动失焦) |
| resend | () | 点击重发按钮(组件同时自动开始倒计时) |
Expose
| 名称 | 类型 | 说明 |
|---|---|---|
| focus | () => void | 聚焦第一个空格 |
| blur | () => void | 所有格失焦 |
| clear | () => void | 清空全部格并聚焦首格 |
| startCountdown | () => void | 手动启动重发倒计时(如接口返回后) |
TIP
与 BizSliderCaptcha 组合使用覆盖人机验证 + 动态码双重校验场景;重发倒计时能力独立于 BizCountdownButton(本组件内聚为输入区附属按钮形态)。