Input 输入框

通过鼠标或键盘输入字符

WARNING

Input 为受控组件,它 总会显示 Vue 绑定值

在正常情况下,input 的输入事件应该被正常响应。 它的处理程序应该更新组件的绑定值 (或使用 v-model)。 否则,输入框的值将不会改变。

不支持 v-model 修饰符。

基础用法

禁用状态

通过 disabled 属性指定是否禁用 input 组件

一键清空

使用clearable属性即可得到一个可一键清空的输入框

格式化

formatter的情况下显示值,我们通常同时使用 parser

密码框

使用 show-password 属性即可得到一个可切换显示隐藏的密码框

带图标的输入框

带有图标标记输入类型

要在输入框中添加图标,你可以简单地使用 prefix-iconsuffix-icon 属性。 另外, prefixsuffix 命名的插槽也能正常工作。

Using attributes
Using slots

文本域

用于输入多行文本信息可缩放的输入框。 添加 type="textarea" 属性来将 input 元素转换为原生的 textarea 元素。

文本域高度可通过 rows 属性控制

自适应文本域

设置文字输入类型的 autosize 属性使得根据内容自动调整的高度。 你可以给 autosize 提供一个包含有最大和最小高度的对象,让输入框自动调整。

复合型输入框

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

可通过 slot 来指定在 Input 中分发的前置或者后置的内容。

Http://
.com
Select
Select

尺寸

使用 size 属性改变输入框大小。 除了默认大小外,还有另外两个选项: large, small

输入长度限制

使用 maxlengthminlength 属性, 来控制输入内容的最大字数和最小字数。 "字符数"使用JavaScript字符串长度来衡量。 为文本或文本输入类型设置 maxlength prop可以限制输入值的长度。 允许你通过设置 show-word-limittrue 来显示剩余字数。

0 / 10
0 / 30

API

Attributes

属性名说明类型默认值
type类型string原生 input 类型text
model-value / v-model绑定值string / number
maxlength同原生 maxlength 属性string / number
minlength原生属性,最小输入长度string / number
show-word-limit是否显示统计字数, 只在 type 为 'text' 或 'textarea' 的时候生效booleanfalse
placeholder输入框占位文本string
clearable是否显示清除按钮,只有当 type 不是 textarea时生效booleanfalse
formatter指定输入值的格式。(只有当 type 是"text"时才能工作)Function
parser指定从格式化器输入中提取的值。(仅当 type 是"text"时才起作用)Function
show-password是否显示切换密码图标booleanfalse
disabled是否禁用booleanfalse
size输入框尺寸,只在 type 不为 'textarea' 时有效enum
prefix-icon自定义前缀图标string / Component
suffix-icon自定义后缀图标string / Component
rows输入框行数,仅 type 为 'textarea' 时有效number2
autosizetextarea 高度是否自适应,仅 type 为 'textarea' 时生效。 可以接受一个对象,比如: { minRows: 2, maxRows: 6 }boolean / objectfalse
autocomplete原生 autocomplete 属性stringoff
name等价于原生 input name 属性string
readonly原生 readonly 属性,是否只读booleanfalse
max原生 max 属性,设置最大值
min原生属性,设置最小值
step原生属性,设置输入字段的合法数字间隔
resize控制是否能被用户缩放enum
autofocus原生属性,自动获取焦点booleanfalse
form原生属性string
aria-label a11y 2.7.2等价于原生 input aria-label 属性string
tabindex输入框的 tabindexstring / number
validate-event输入时是否触发表单的校验booleantrue
input-styleinput 元素或 textarea 元素的 stylestring / object{}
label a11y deprecated等价于原生 input aria-label 属性string

Events

事件名说明类型
blur当选择器的输入框失去焦点时触发Function
focus当选择器的输入框获得焦点时触发Function
change仅当 modelValue 改变时,当输入框失去焦点或用户按Enter时触发Function
input在 Input 值改变时触发Function
clear在点击由 clearable 属性生成的清空按钮时触发Function

Slots

插槽名说明
prefix输入框头部内容,只对非 type="textarea" 有效
suffix输入框尾部内容,只对非 type="textarea" 有效
prepend输入框前置内容,只对非 type="textarea" 有效
append输入框后置内容,只对非 type="textarea" 有效

Exposes

名称说明类型
blur使 input 失去焦点Function
clear清除 input 值Function
focus使 input 获取焦点Function
inputInput HTML 元素object
refHTML元素 input 或 textareaobject
resizeTextarea改变 textarea 大小Function
select选中 input 中的文字Function
textareaHTML textarea 元素object
textareaStyletextarea 的样式object
isComposing 2.8.0是否是输入 composing 状态object

常见问题

ElInput 组件的宽度为什么在设置了 clearable 时会发生变化

典型问题: #7287

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

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

源代码

组件样式文档

贡献者