Input 输入框
Input 输入框
用户可以在表单中输入内容的文本输入框,对齐 Ant Design Input 基础组件能力,支持前后缀、前置/后置标签、可清除、字数统计、校验状态、尺寸与形态变体。
何时使用
- 需要用户输入表单域内的单行文本时。
- 需要提供可清除、带图标前缀/后缀、带单位或标签、限制长度并显示字数等增强交互时。
说明:
Input.TextArea、Input.Search、Input.Password、Input.OTP等变体不耦合在本组件中,请按需选用独立的Textarea等组件。
导入
兼容旧引用:
@reglow/reui已改为转发reui/input,现有业务无需改动即可获得升级能力。
代码演示
基础用法
前后缀
前置/后置标签
可清除
字数统计与最大长度
自定义计数格式:
校验状态
尺寸
形态变体
回车事件
API
Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
modelValue | 当前值(v-model) | string | number | — |
defaultValue | 默认值(非受控) | string | number | — |
placeholder | 占位文字 | string | "" |
type | 输入类型,同原生 input | string | "text" |
disabled | 是否禁用 | boolean | false |
readonly | 是否只读 | boolean | false |
addonBefore | 前置标签(字符串或组件) | VNode | string | — |
addonAfter | 后置标签(字符串或组件) | VNode | string | — |
prefix | 前缀图标/文字 | VNode | string | — |
suffix | 后缀图标/文字 | VNode | string | — |
allowClear | 可点击清除(传入对象可定制图标) | boolean | { clearIcon?: VNode } | false |
showCount | 展示字数(传入对象可自定义格式) | boolean | { formatter?: (info: { value, count, maxLength? }) => VNode | string } | false |
maxLength | 最大长度 | number | — |
status | 校验状态 | "error" | "warning" | — |
size | 尺寸 | "large" | "medium" | "small" | "medium" |
variant | 形态变体 | "outlined" | "borderless" | "filled" | "underlined" | "outlined" |
bordered | 是否有边框 | boolean | true |
classNames | 语义化结构自定义类名(root/addonBefore/addonAfter/prefix/input/clear/count/suffix) | Partial<Record<...>> | — |
styles | 语义化结构自定义行内样式(同上) | Partial<Record<...>> | — |
同时透传原生 input 属性(name、autocomplete、pattern、min、max、step 等),以及常规属性 class、id、style 等。
Slots
| 插槽 | 说明 |
|---|---|
#prefix | 前缀内容(优先于 prefix prop) |
#suffix | 后缀内容(优先于 suffix prop) |
#addonBefore | 前置标签(优先于 addonBefore prop) |
#addonAfter | 后置标签(优先于 addonAfter prop) |
#clearIcon | 自定义清除图标 |
Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
update:modelValue | v-model 更新 | (value: string | number) |
change | 内容变化(对齐 antd onChange) | (value: string | number) |
pressEnter | 按下回车 | (e: KeyboardEvent) |
clear | 点击清除按钮 | — |
focus | 获得焦点 | (e: FocusEvent) |
blur | 失去焦点 | (e: FocusEvent) |
实例方法
| 方法 | 说明 |
|---|---|
focus() | 聚焦输入框 |
blur() | 移除焦点 |
设计规范
- 高度随
size变化:large44px /medium36px /small32px。 - 校验状态
status="error"时边框与聚焦环变红,warning变黄,均可通过classNames/styles进一步定制。
