Input 输入框

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

基础用法

禁用状态

通过 `disabled` 属性禁用输入框。

可清空

使用 `clearable` 属性,可使输入框内容被清空。

自定义清除图标 2.11.0

您可以通过设置 `clear-icon` 属性来自定义清除图标。

格式化

通过 `formatter` 格式化输入值,通常与 `parser` 一起使用。

密码框

使用 `show-password` 属性可以使输入框变为可切换显示隐藏的密码框。

带图标的输入框

为输入框添加图标以表明类型。

要为输入框添加图标,您可以使用 `prefix-icon` 和 `suffix-icon` 属性。此外,名为 `prefix` 和 `suffix` 的插槽也能正常工作。

使用属性
使用插槽

文本域

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

通过设置 `rows` 属性来控制高度。

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

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

复合型输入框

可前置或后置元素,通常是标签或按钮。

使用 `slot` 来分发前置或后置到 Input 的元素。

Http://
.com
选择器
选择器

尺寸

添加 `size` 属性来改变输入框的大小。除了默认尺寸外,还有两种其他选项:`large`, `small`。

长度限制

输入框的 `maxlength` 和 `minlength` 属性,它们声明了用户可输入字符数的限制。“字符数”是使用 JavaScript 字符串长度来测量的。为文本或文本域类型的输入框设置 `maxlength` 属性可以限制输入值的长度,同时通过设置 `show-word-limit` 为 `true` 来显示字数统计。

0 / 10
0 / 30

API

属性

名称描述类型默认值
type输入框的类型string 原生输入框类型文本
model-value / v-model绑定值string / number
最大长度与原生输入框的 `maxlength` 相同string / number
最小长度与原生输入框的 `minlength` 相同string / number
显示字数限制是否显示字数统计,仅在 `type` 为 'text' 或 'textarea' 时有效booleanfalse
占位符输入框的占位符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 }`boolean / objectfalse
自动补全与原生输入框的 `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在输入框失去焦点或用户按下回车时触发,仅当 modelValue 发生改变时Function
input在 Input 值改变时触发Function
clear在点击清除按钮清空 Input 时触发Function
keydown在按下键盘按键时触发Function
mouseleave在鼠标离开 Input 元素时触发Function
mouseenter在鼠标进入 Input 元素时触发Function
compositionstart在输入法开始时触发Function
compositionupdate在输入法更新时触发Function
compositionend在输入法结束时触发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
resizeTextarea调整 textarea 大小Function
select选中输入框元素中的文本Function
textareaHTML textarea 元素object
textareaStyletextarea 的样式object
isComposing 2.8.0输入框是否正在输入法组合中object

常见问题

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

典型 issue: #7287

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

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

来源

组件样式文档

贡献者