element-plus/docs/en-US/component/select.md
Aex 883fd8d6ef
epic: refactor icons (#3492)
* 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>
2021-10-27 23:17:13 +08:00

13 KiB

title lang
Select en-US

Select

When there are plenty of options, use a drop-down menu to display and select desired ones.

Basic usage

:::demo v-model is the value of el-option that is currently selected.

select/basic-usage

:::

Disabled option

:::demo Set the value of disabled in el-option to true to disable this option.

select/disabled-option

:::

Disabled select

Disable the whole component.

:::demo Set disabled of el-select to make it disabled.

select/disabled

:::

Clearable single select

You can clear Select using a clear icon.

:::demo Set clearable attribute for el-select and a clear icon will appear. Note that clearable is only for single select.

select/clearable

:::

Basic multiple select

Multiple select uses tags to display selected options.

:::demo Set multiple attribute for el-select to enable multiple mode. In this case, the value of v-model will be an array of selected options. By default the selected options will be displayed as Tags. You can collapse them to a text by using collapse-tags attribute.

select/multiple

:::

Custom template

You can customize HTML templates for options.

:::demo Insert customized HTML templates into the slot of el-option.

select/custom-template

:::

Grouping

Display options in groups.

:::demo Use el-option-group to group the options, and its label attribute stands for the name of the group.

select/grouping

:::

Option filtering

You can filter options for your desired ones.

:::demo Adding filterable to el-select enables filtering. By default, Select will find all the options whose label attribute contains the input value. If you prefer other filtering strategies, you can pass the filter-method. filter-method is a Function that gets called when the input value changes, and its parameter is the current input value.

select/filterable

:::

Enter keywords and search data from server.

:::demo Set the value of filterable and remote with true to enable remote search, and you should pass the remote-method. remote-method is a Function that gets called when the input value changes, and its parameter is the current input value. Note that if el-option is rendered with the v-for directive, you should add the key attribute for el-option. Its value needs to be unique, such as item.value in the following example.

select/remote-search

:::

Create new items

Create and select new items that are not included in select options

:::demo By using the allow-create attribute, users can create new items by typing in the input box. Note that for allow-create to work, filterable must be true. This example also demonstrates default-first-option. When this attribute is set to true, you can select the first option in the current option list by hitting enter without having to navigate with mouse or arrow keys.

select/allow-create

:::

:::tip

If the binding value of Select is an object, make sure to assign value-key as its unique identity key name.

:::

Select Attributes

Attribute Description Type Accepted Values Default
model-value / v-model binding value string / number / boolean / object
multiple whether multiple-select is activated boolean false
disabled whether Select is disabled boolean false
value-key unique identity key name for value, required when value is an object string value
size size of Input string large/medium/small/mini large
clearable whether select can be cleared boolean false
collapse-tags whether to collapse tags to a text when multiple selecting boolean false
multiple-limit maximum number of options user can select when multiple is true. No limit when set to 0 number 0
name the name attribute of select input string
autocomplete the autocomplete attribute of select input string off
placeholder placeholder string Select
filterable whether Select is filterable boolean false
allow-create whether creating new items is allowed. To use this, filterable must be true boolean false
filter-method custom filter method function
remote whether options are loaded from server boolean false
remote-method custom remote search method function
loading whether Select is loading data from server boolean false
loading-text displayed text while loading data from server string Loading
no-match-text displayed text when no data matches the filtering query, you can also use slot empty string No matching data
no-data-text displayed text when there is no options, you can also use slot empty string No data
popper-class custom class name for Select's dropdown string
reserve-keyword when multiple and filter is true, whether to reserve current keyword after selecting an option boolean false
default-first-option select first matching option on enter key. Use with filterable or remote boolean - false
popper-append-to-body whether to append the popper menu to body. If the positioning of the popper is wrong, you can try to set this prop to false boolean - true
automatic-dropdown for non-filterable Select, this prop decides if the option menu pops up when the input is focused boolean - false
clear-icon Custom clear icon component string / Component CircleClose

Select Events

Event Name Description Parameters
change triggers when the selected value changes current selected value
visible-change triggers when the dropdown appears/disappears true when it appears, and false otherwise
remove-tag triggers when a tag is removed in multiple mode removed tag value
clear triggers when the clear icon is clicked in a clearable Select
blur triggers when Input blurs (event: Event)
focus triggers when Input focuses (event: Event)

Select Slots

Name Description Subtags
Option component list Option Group / Option
prefix content as Select prefix
empty content when there is no options

Option Group Attributes

Attribute Description Type Accepted Values Default
label name of the group string
disabled whether to disable all options in this group boolean false

Option Group Slots

Name Description Subtags
- customize default content Option

Option Attributes

Attribute Description Type Accepted Values Default
value value of option string / number / boolean / object
label label of option, same as value if omitted string/number
disabled whether option is disabled boolean false

Option Slots

Name Description
customize default content

Methods

Method Description Parameters
focus focus the Input component -
blur blur the Input component, and hide the dropdown -