带网格的输入框组件,可以用于输入密码、短信验证码等场景,通常与数字键盘组件配合使用。
搭配数字键盘组件来实现密码输入功能。
function BasicPasswordInput() {
const [open, setOpen] = useState(false)
const [value, setValue] = useState("123")
return (
<>
<PasswordInput focus value={value} onFocus={() => setOpen(true)} />
<NumberKeyboard
open={open}
onKeyPress={(key) => setValue(value + key)}
onBackspace={() => setValue(value.substring(0, value.length - 1))}
onHide={() => setOpen(false)}
/>
</>
)
}
通过 feedback
属性设置提示信息,例如当输入六位时提示密码错误。
<PasswordInput feedback="密码为 6 位数字" value="123" />
<PasswordInput feedback={{ color: "danger", children: "密码为 6 位数字" }} value="123" />
<PasswordInput feedback={<PasswordInput.Feedback color="danger" children="密码为 6 位数字" />} value="123" />
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 密码值 | string | '' |
length | 密码最大长度 | number | string | 6 |
gutter | 输入框格子之间的间距,如 20px 2em ,默认单位为px | number | string | 0 |
mask | 是否隐藏密码内容 | boolean | true |
focus | 是否聚焦,聚焦时会显示光标 | boolean | false |
feedback | 输入框下方文字提示 | ReactText | PasswordInputFeedbackProps | ReactElement | - |
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
password-input-height | 50px * $hd | - |
password-input-margin | 0 var(—padding-md) | - |
password-input-border-radius | 6px * $hd | - |
password-input-item-font-size | 20px * $hd | - |
password-input-item-background-color | var(—white) | - |
password-input-mask-size | 10px * $hd | - |
password-input-mask-width | var(—password-input-mask-size) | - |
password-input-mask-height | var(—password-input-mask-size) | - |
password-input-mask-color | var(—black) | - |
password-input-cursor-color | var(—text-color) | - |
password-input-cursor-width | 1px * $hd | - |
password-input-cursor-height | 40% | - |
password-input-cursor-animation-duration | 1s | - |
password-input-feedback-margin-top | var(—padding-md) | - |
password-input-feedback-font-size | var(—font-size-md) | - |
password-input-feedback-color | var(—gray-6) | - |
password-input-feedback-primary-color | var(—primary-color) | - |
password-input-feedback-info-color | var(—info-color) | - |
password-input-feedback-success-color | var(—success-color) | - |
password-input-feedback-warning-color | var(—warning-color) | - |
password-input-feedback-danger-color | var(—danger-color) | - |