输入框

通过鼠标或键盘输入数据。

基础用法

禁用状态

可清空

自定义清除图标 2.11.0

格式化

通过 formatter 格式化输入值,通常也需要搭配 parser 使用。

密码框

带图标的输入框

添加一个图标来说明输入类型。

文本域

可调整大小,用于输入多行文本信息。 添加属性 type="textarea" 以将 input 更改为原生的 textarea

可自适应文本高度的文本域

为文本域类型的输入框设置 autosize 属性,使得文本域的高度能够根据内容自动调整。可以给 autosize 提供一个对象,以指定最小和最大行数。

复合型输入框

在输入框前置或后置一个元素,通常是标签或按钮。

尺寸

长度限制

API

属性

名称描述类型默认值
type输入框类型,更多信息请参阅 MDNstring文本
model-value / v-model绑定值string / number
v-model 修饰符 2.11.5v-model 修饰符,参考 Vue 修饰符object
最大长度与原生输入框的 `maxlength` 相同string / number
最小长度与原生输入框的 `minlength` 相同string / number
是否显示输入字数统计,只在 type 为 'text' 或 'textarea' 时有效是否显示输入字数统计,只在 `type` 为 'text' 或 'textarea' 时有效booleanfalse
字数统计位置 2.11.5字数统计位置,当 `show-word-limit` 为 true 时有效枚举"inside"
占位符输入框占位文本string
可清空是否显示清空按钮,只有当 type 不为 'textarea' 时有效booleanfalse
清除图标 2.11.0自定义清除图标组件string / objectCircleClose
格式化程序指定一个格式化函数,来格式化输入框的展示值。(仅当 `type` 是 'text' 时有效)Function
解析器指定一个解析函数,将格式化的值转为原始值。(仅当 `type` 是 'text' 时有效)Function
显示密码是否显示切换密码图标booleanfalse
disabled输入框是否被禁用booleanfalse
size输入框尺寸,只在 `type` 不为 'textarea' 时有效枚举
前缀图标前缀图标组件string / Component
后缀图标后缀图标组件string / Component
行数输入框行数,只对 `type="textarea"` 有用number2
自适应内容高度文本域是否自适应内容高度,只对 `type="textarea"` 有用。可接受一个对象,比如 `{ minRows: 2, maxRows: 6 }`布尔值 / 对象false
自动补全与原生输入框的 `autocomplete` 相同stringoff
名称与原生输入框的 `name` 相同string
只读与原生输入框的 `readonly` 相同booleanfalse
max与原生属性 `max` 相同
min与原生属性 `min` 相同
步长与原生属性 `step` 相同
调整大小控制是否能被用户缩放枚举
自动聚焦与原生输入框的 `autofocus` 相同booleanfalse
表单与原生属性 `form` 相同string
aria-label a11y 2.7.2与原生输入框的 `aria-label` 相同string
tabindex输入框的 tabindexstring / number
validate-event是否触发表单验证booleantrue
输入框样式input 元素或 textarea 元素的样式string / object{}
label a11y 已废弃与原生输入框的 `aria-label` 相同string
输入模式 2.10.3与原生输入框的 `inputmode` 相同string

事件

名称描述类型
blur在 Input 失去焦点时触发Function
focus在 Input 获得焦点时触发Function
change在 Input 失去焦点或用户按下回车时触发,仅当 modelValue 改变时Function
input在 Input 值改变时触发Function
clear在点击清除按钮清空 Input 时触发Function
键盘按下在按下按键时触发Function
鼠标离开鼠标离开 Input 元素时触发Function
鼠标进入鼠标进入 Input 元素时触发Function
输入法候选词开始在输入法候选词开始时触发Function
输入法候选词更新在输入法候选词更新时触发Function
输入法候选词结束在输入法候选词结束时触发Function

插槽

名称描述
prefix作为 Input 前缀的内容,只在 `type` 不为 'textarea' 时有效
suffix作为 Input 后缀的内容,只在 `type` 不为 'textarea' 时有效
prepend作为 Input 前置内容,只在 `type` 不为 'textarea' 时有效
append作为 Input 后置内容,只在 `type` 不为 'textarea' 时有效

暴露

名称描述类型
blur使输入框元素失焦Function
clear清空输入值Function
focus使输入框元素聚焦Function
inputHTML input 元素object
refHTML 元素,input 或 textareaobject
重置文本域尺寸重置文本域尺寸Function
select选中 input 元素中的文本Function
文本域HTML textarea 元素object
文本域样式文本域的样式object
是否正在使用输入法 2.8.0输入框是否正在使用输入法object

常见问题

为什么 ElInput 组件的宽度会被 clearable 撑开?

典型问题: #7287

PS:由于 ElInput 组件没有默认宽度,当显示 clearable 图标时,组件宽度会被撑开,可以通过设置 width 解决。

vue
<el-input v-model="input" clearable style="width: 200px" />

来源

组件样式文档

贡献者