* refactor(components): el-alert icon (#3441) * refactor(components): el-alert icon * fix: el-alert test * fix: [el-alert] lint error * feat(utils): add icon util * refactor(components): el-alert icon * refactor(utils): icon * test: update alert test * refactor: remove el-icon in util * refactor(components): el-notification icon (#3512) * chore: temp save changes * refactor: update icon * fix: var * docs: update icon * fix: type class error * style: remove unused class * fix: update icon type * docs: update icon * fix: update iconComponent * refactor(components): el-dialog icon (#3505) * refactor(components): [el-dialog] icon * fix: typo * refactor: dialog icon ref * refactor: dialog icon * style: update close button size * refactor(components): el-message-box icon (#3507) * refactor(components): message-box icon * refactor(components): message icon * fix: test * refactor: update ref * fix: test * docs: update icon * fix: delete unused code * docs: update type * fix: update close button size * fix: type * fix: icon type class * fix: icon type * fix: update type class * refactor(components): el-popconfirm icon (#3513) * refactor(components): el-popconfirm icon * fix: space styles * docs: update example * docs: update example for trigger event * refactor(components): el-page-header icon (#3518) * refactor(components): el-page-header icon * docs: update icon * fix: space errors * refactor(components): el-steps icon (#3520) * refactor(components): el-backtop icon (#3514) * refactor(components): el-backtop icon * fix: update font size * refactor(components): el-button icon (#3536) * refactor(components): el-button icon * fix: update example * refactor(components): el-button icon * refactor: style simplify Co-authored-by: imswk <syfzxx@vip.qq.com> * refactor(components): el-tree icon (#3590) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-avatar icon (#3599) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-carousel icon (#3602) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-progress icon (#3607) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-result icon (#3609) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-timeline icon (#3646) Co-authored-by: qianjie <qianjie@patsnap.com> * refactor(components): el-table icon (#3611) Co-authored-by: qianjie <qianjie@patsnap.com> * chore: add vue to gitignore * fix: buildProp error * refactor(components): el-pagination icon (#3605) * test: el-menu deprecated icon font (#3794) * test: el-loading deprecated icon font (#3795) * chore: Update changelog 1.1.0-beta.20 (#3838) * fix: about custom extension of table column (#3437) * refactor(components): el-autocomplete icon (#3783) * refactor(components): el-dropdown icon (#3517) * refactor(components): el-dropdown icon * fix: arrow down icon size * style: revert * fix: font-size * refactor(components): el-link icon (#3538) * refactor(components): el-link icon * refactor: update example * fix: import icons * docs: add tip * refactor: update link icon * fix: icon align * fix: typo * refactor(components): el-select icon (#3780) * refactor(components): el-input icon (#3565) * refactor(components): input icon * docs: update example * refactor(components): el-select icon * docs: icon usage * fix: input style * fix: add scoped * docs: fix icon * fix: icon align * fix: icon align * fix: typo * fix: typo * refactor(components): el-input-number icon (#3566) * refactor(components): el-input-number icon * fix: icon align * refactor(components): el-tag icon (#3793) * refactor(components): el-tag icon * fix: icon align * fix: icon margin * refactor(components): el-switch icon (#3787) * refactor(components): el-switch icon * fix: icon align * docs: add icon usage * refactor(components): el-collapse icon (#3788) * refactor(components): el-collapse icon * docs: update icon demo * fix: typo * refactor(components): el-uplod icon (#3598) * refactor(components): el-uplod icon * docs: update icon useage * docs: fix icon * docs: fix icon * docs: update upload-filled icon * fix: icon align * fix: item icon align * refactor(components): el-select-v2 icon (#3781) * refactor(components): el-select-v2 icon * revert: play/main.ts * fix: icon style * fix: icon solt * refactor(components): el-cascader icon (#3785) * refactor(components): input icon * docs: update example * refactor(components): el-select icon * refactor(components): el-cascader icon * refactor(components): el-tag icon * fix: icon align * fix: icon margin * docs: icon usage * fix: input style * fix: add scoped * test: remove unuesd code * fix: cascader-panel * fix: icon style * fix: icon animation * refactor(components): el-drawer icon (#3796) * refactor(components): el-drawer icon * fix: close icon size * fix: close icon align * refactor(components): el-transfer icon (#3792) * refactor(components): el-transfer icon * fix: icon align * refactor(components): el-image-viewer icon (#3797) * refactor(components): el-image-view icon * fix: icon size * docs: update domo * style: format vue * fix: fullscreen icon * Add cursor for icons Co-authored-by: jeremywuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com> * refactor(components): rate-icon (#3891) * refactor(components): el-rate icon * docs: update example * docs: update * test: update * docs: update * fix: variable rename * fix: demo update * fix: allow half bug * refactor(components): el-time-picker icon (#3834) * refactor(components): el-button icon * refactor(components): date-picker icon * refactor(components): input icon * docs: update example * refactor(components): el-select icon * refactor(components): el-time-select icon * fix: icon width * docs: icon usage * fix: input style * fix: add scoped * fix: icon size * docs: icon display * fix: icon in button * docs: fix error * refactor(components): el-time-picker icon * fix: var * fix: icon align * test: delete unused code * test: fix error * fix: remove unused code * docs: fix typo * docs: update icon * fix: default prefix icon * fix: range picker icon align * Update cursor for picker Co-authored-by: jeremywuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com> * fix(components): el-input close icon * chore: delete fonts * fix: copy full style Co-authored-by: imswk <syfzxx@vip.qq.com> Co-authored-by: bastarder <85257684@qq.com> Co-authored-by: qianjie <qianjie@patsnap.com> Co-authored-by: Element <wallement@gmail.com> Co-authored-by: Alan Wang <948467222@qq.com> Co-authored-by: jeremywuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>
20 KiB
title | lang |
---|---|
Input | en-US |
Input
Input data using mouse or keyboard.
:::warning
Input is a controlled component, it always shows Vue binding value.
Under normal circumstances, input
event should be handled. Its handler should update component's binding value (or use v-model
). Otherwise, input box's value will not change.
Do not support v-model
modifiers.
:::
Basic usage
:::demo
input/basic
:::
Disabled
:::demo Disable the Input with the disabled
attribute.
input/disabled
:::
Clearable
:::demo Make the Input clearable with the clearable
attribute.
input/clearable
:::
Password box
:::demo Make a toggle-able password Input with the show-password
attribute.
input/password
:::
Input with icon
Add an icon to indicate input type.
:::demo To add icons in Input, you can simply use prefix-icon
and suffix-icon
attributes. Also, the prefix
and suffix
named slots works as well.
input/with-icon
:::
Textarea
Resizable for entering multiple lines of text information. Add attribute type="textarea"
to change input
into native textarea
.
:::demo Control the height by setting the rows
prop.
input/textarea
:::
Autosize Textarea
Setting the autosize
prop for a textarea type of Input makes the height to automatically adjust based on the content. An options object can be provided to autosize
to specify the minimum and maximum number of lines the textarea can automatically adjust.
:::demo
input/auto-sizing-textarea
:::
Mixed input
Prepend or append an element, generally a label or a button.
:::demo Use slot
to distribute elements that prepend or append to Input.
input/mixed-input
:::
Sizes
:::demo Add size
attribute to change the size of Input. In addition to the default size, there are three other options: large
, small
and mini
.
input/various-size
:::
Autocomplete
You can get some recommended tips based on the current input.
:::demo Autocomplete component provides input suggestions. The fetch-suggestions
attribute is a method that returns suggested input. In this example, querySearch(queryString, cb)
returns suggestions to Autocomplete via cb(data)
when suggestions are ready.
input/autocomplete
:::
Custom template
Customize how suggestions are displayed.
:::demo Use scoped slot
to customize suggestion items. In the scope, you can access the suggestion object via the item
key.
input/autocomplete-template
:::
Remote search
Search data from server-side.
:::demo
input/remote-search
:::
Limit length
:::demo maxlength
and minlength
attributes of input, they declare a limit on the number of characters a user can input. The "number of characters" is measured using JavaScript string length.Setting the maxlength
prop for a text or textarea type of Input can limit the length of input value, allows you to show word count by setting show-word-limit
to true
at the same time.
input/length-limiting
:::
Input Attributes
Attribute | Description | Type | Accepted Values | Default |
---|---|---|---|---|
type | type of input | string | text, textarea and other native input types | text |
modelValue / v-model | binding value | string / number | — | — |
maxlength | the max length | string / number | — | — |
minlength | same as minlength in native input |
number | — | — |
show-word-limit | whether show word count,only works when type is 'text' or 'textarea' |
boolean | — | false |
placeholder | placeholder of Input | string | — | — |
clearable | whether to show clear button | boolean | — | false |
show-password | whether to show toggleable password input | boolean | — | false |
disabled | whether Input is disabled | boolean | — | false |
size | size of Input, works when type is not 'textarea' |
string | medium / small / mini | — |
prefix-icon | prefix icon component | string / Component | — | — |
suffix-icon | suffix icon component | string / Component | — | — |
rows | number of rows of textarea, only works when type is 'textarea' |
number | — | 2 |
autosize | whether textarea has an adaptive height, only works when type is 'textarea'. Can accept an object, e.g. { minRows: 2, maxRows: 6 } |
boolean / object | — | false |
autocomplete | same as autocomplete in native input |
string | — | off |
name | same as name in native input |
string | — | — |
readonly | same as readonly in native input |
boolean | — | false |
max | same as max in native input |
— | — | — |
min | same as min in native input |
— | — | — |
step | same as step in native input |
— | — | — |
resize | control the resizability | string | none / both / horizontal / vertical | — |
autofocus | same as autofocus in native input |
boolean | — | false |
form | same as form in native input |
string | — | — |
label | label text | string | — | — |
tabindex | input tabindex | string / number | - | - |
validate-event | whether to trigger form validation | boolean | - | true |
input-style | the style of the input element or textarea element | object | - | {} |
Input slots
Name | Description |
---|---|
prefix | content as Input prefix, only works when type is 'text' |
suffix | content as Input suffix, only works when type is 'text' |
prepend | content to prepend before Input, only works when type is 'text' |
append | content to append after Input, only works when type is 'text' |
Input Events
Event Name | Description | Parameters |
---|---|---|
blur | triggers when Input blurs | (event: Event) |
focus | triggers when Input focuses | (event: Event) |
change | triggers only when the input box loses focus or the user presses Enter | (value: string | number) |
input | triggers when the Input value change | (value: string | number) |
clear | triggers when the Input is cleared by clicking the clear button | — |
Input Methods
Method | Description | Parameters |
---|---|---|
focus | focus the input element | — |
blur | blur the input element | — |
select | select the text in input element | — |
Autocomplete Attributes
Attribute | Description | Type | Accepted Values | Default |
---|---|---|---|---|
placeholder | the placeholder of Autocomplete | string | — | — |
clearable | whether to show clear button | boolean | — | false |
disabled | whether Autocomplete is disabled | boolean | — | false |
value-key | key name of the input suggestion object for display | string | — | value |
icon | icon component | string / Component | — | — |
model-value / v-model | binding value | string | — | — |
debounce | debounce delay when typing, in milliseconds | number | — | 300 |
placement | placement of the popup menu | string | top / top-start / top-end / bottom / bottom-start / bottom-end | bottom-start |
fetch-suggestions | a method to fetch input suggestions. When suggestions are ready, invoke callback(data:[]) to return them to Autocomplete |
Function(queryString, callback) | — | — |
popper-class | custom class name for autocomplete's dropdown | string | — | — |
trigger-on-focus | whether show suggestions when input focus | boolean | — | true |
name | same as name in native input |
string | — | — |
select-when-unmatched | whether to emit a select event on enter when there is no autocomplete match |
boolean | — | false |
label | label text | string | — | — |
prefix-icon | prefix icon class | string | — | — |
suffix-icon | suffix icon class | string | — | — |
hide-loading | whether to hide the loading icon in remote search | boolean | — | false |
popper-append-to-body | whether to append the dropdown to body. If the positioning of the dropdown is wrong, you can try to set this prop to false | boolean | - | false |
highlight-first-item | whether to highlight first item in remote search suggestions by default | boolean | — | false |
Autocomplete Slots
Name | Description |
---|---|
prefix | content as Input prefix |
suffix | content as Input suffix |
prepend | content to prepend before Input |
append | content to append after Input |
Autocomplete Scoped Slot
Name | Description |
---|---|
— | Custom content for input suggestions. The scope parameter is { item } |
Autocomplete Events
Event Name | Description | Parameters |
---|---|---|
select | triggers when a suggestion is clicked | suggestion being clicked |
change | triggers when the icon inside Input value change | (value: string | number) |
Autocomplete Methods
Method | Description | Parameters |
---|---|---|
focus | focus the input element | — |