Input 输入框
Input 现在分成三层:基础输入框负责颜色、尺寸、状态和前后缀,Input.Search与Input.Password负责常见业务形态,Input.TextArea则直接复用 Rue 的多行输入能力。
何时使用
- 需要一个基础输入框,但希望颜色、状态、变体和壳层结构能分层表达。
- 需要快速拼出搜索框、密码框、多行输入框,同时保持 Rue 自己的视觉风格。
- 需要在输入区内部放图标、单位、操作按钮,或者在两侧补协议、域名等固定附加块。
# Text input
# Prefix, suffix and add-ons
https:// .app
Path
# Allow clear and count
# Search
最近一次回调:等待搜索
# Password
# TextArea
# Text input with text label inside
# Ghost style
# With fieldset and fieldset-legend
# Input colors
# Sizes
# Disabled
# Text input with data list suggestion
API
这里使用 Rue 的颜色和壳层语义,同时把最常用的 Input 家族能力集中到一个命名空间里。
Input
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
addonAfter | 输入框右侧附加区,适合单位、动作按钮或固定后缀块 | any | - |
addonBefore | 输入框左侧附加区,适合协议、域名前缀或标签块 | any | - |
allowClear | 展示清空按钮,支持布尔值或自定义 clearIcon | boolean | { clearIcon?: any } | false |
className | 输入框根节点 class,当存在 prefix/suffix 时会作用在壳层上 | string | - |
color | 使用 Rue 当前色阶,也可和 status 分开表达视觉语义 | 'default' | 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'default' |
defaultValue | 非受控初始值 | string | number | - |
ghost | ghost 快捷开关,等价于 variant 为 ghost | boolean | false |
onClear | 点击清空按钮后的回调 | (event: MouseEvent) => void | - |
onPressEnter | 按下 Enter 时的回调,Search 也基于它触发搜索 | (event: KeyboardEvent) => void | - |
prefix | 输入区内部前缀,可放图标、币种、简短文案 | any | - |
showCount | 展示字符计数,也支持 formatter 自定义格式 | boolean | { formatter?: (info) => any } | false |
size | 尺寸,支持 xs 到 xl 以及 small / middle / large 别名 | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'small' | 'middle' | 'medium' | 'large' | - |
status | 语义状态层,目前提供 warning 和 error | 'warning' | 'error' | - |
suffix | 输入区内部后缀,可放图标、快捷操作或说明 | any | - |
type | 原生 input 类型,默认 text | string | 'text' |
value | 受控值 | string | number | - |
variant | 视觉变体,保持 Rue 风格下的 outlined / filled / ghost / borderless | 'outlined' | 'filled' | 'ghost' | 'borderless' | 'outlined' |
Input.Search
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
allowClear | 支持清空按钮,并会在清空后触发一次 onSearch | boolean | { clearIcon?: any } | false |
buttonClassName | 搜索按钮额外 class | string | - |
enterButton | 改为独立搜索按钮,可传 true、文字或任意节点 | boolean | any | false |
loading | 按钮进入 loading 态,但不阻止继续输入 | boolean | false |
onSearch | 点击按钮、按 Enter 或清空时触发;source 为 input 或 clear | (value, event, info) => void | - |
Input.Password
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
iconRender | 自定义密码显隐按钮图标 | (visible: boolean) => any | - |
suffix | 额外后缀节点,会和显隐按钮并排展示 | any | - |
visibilityToggle | 控制是否展示显隐按钮,也支持受控 visible / onVisibleChange | boolean | { visible?: boolean; onVisibleChange?: (visible: boolean) => void } | true |
Input.TextArea
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
Input.TextArea | 直接复用 Rue Textarea 的完整能力:autoSize、allowClear、showCount、resize、status 等 | FC<TextareaProps> | - |
Input.Shell
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
as | 指定壳层元素,默认 label | string | 'label' |
children | 完全自定义壳层内容,适合需要手写结构的复杂组合输入 | any | - |