Input 输入框
输入框组件,用于接收用户输入。
注意:Input 组件只负责输入框本身,错误消息需要由使用者自行渲染,以获得最大的布局灵活性。
基础用法
v-model 绑定
尺寸
错误状态
error 属性仅控制输入框的边框和聚焦环样式,不渲染错误消息。
错误消息(用户自行控制)
通过组合工具类,可以灵活控制错误消息的位置。
消息在下方
消息在右侧
禁用与只读
不同类型
API
Props
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
type | 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'text' | 输入框类型 |
modelValue | string | '' | 输入框的值(v-model) |
placeholder | string | '' | 占位文本 |
disabled | boolean | false | 是否禁用 |
readonly | boolean | false | 是否只读 |
size | 'sm' | 'md' | 'lg' | 'md' | 尺寸 |
error | boolean | false | 错误状态(仅控制样式) |
Events
| 事件 | 参数 | 说明 |
|---|---|---|
update:modelValue | (value: string) | 输入时触发(v-model) |
input | (event: Event) | 原生 input 事件 |
change | (event: Event) | 原生 change 事件 |
focus | (event: FocusEvent) | 获得焦点时触发 |
blur | (event: FocusEvent) | 失去焦点时触发 |
注意事项
- 输入框默认宽度 100%,填满父容器
error属性仅控制样式,不渲染错误消息- 错误消息需要用户自行渲染,以获得最大的布局灵活性
- 聚焦时显示主题色边框和聚焦环,错误状态下聚焦环变为错误色
- 原生属性(
id、name等)通过v-bind="$attrs"自动透传,无需额外声明