PinCode

用于便捷直观地输入验证码。

设计文档(新窗口打开)

代码演示

如何引入

import { PinCode } from '@chenzy-design/svelte';

基本使用

size 支持 small、default、large 三种尺寸。

受控

使用 value 传入验证码字符串,配合 onChange 受控使用。

限制验证码格式

设置位数

通过 count 设置位数,默认 6 位,下方 Demo 设置为 4 位。

设置字符范围

使用 format 控制可输入的字符范围:

  • 传入 "number" 只允许输入数字;
  • 传入 "mixed" 允许数字和字母;
  • 传入正则表达式,只允许输入可通过正则判定的字符;
  • 传入函数,验证码会在输入时以字符为单位依次作为参数单独传入校验,返回 true 时允许该字符被输入进 PinCode。
纯数字
字母和数字
只大写字母
只小写字母(函数判断)

手动聚焦失焦

通过 bind:this 拿到组件实例后,命令式调用 focus 与 blur,入参为对应 Input 的序号。

API 参考

属性说明类型默认值
autoFocus是否自动聚焦到第一个元素booleantrue
class类名string-
count验证码位数number6
defaultValue输入框内容默认值string-
disabled禁用booleanfalse
format验证码单个字符格式限制'number' \| 'mixed' \| RegExp \| ((char: string) => boolean)‘number’
size输入框大小,large、default、smallstring‘default’
style样式string-
value输入框内容string-
onChange输入回调(value: string) => void-
onComplete验证码所有位数输入完毕回调(value: string) => void-

Methods

绑定在组件实例上的方法,可通过 bind:this 拿到实例后调用:

属性说明
focus聚焦,入参为验证码第几位
blur移出焦点,入参为验证码第几位

设计变量

变量
默认值
用法
--cd-pincode-cell-font-size var(--cd-font-size-header-6) 单格字符字号(略大于正文,居中显示单字符)
显示第 1 条-第 1 条,共 1 条
  • 1