Select 选择器

当选项过多时,使用下拉菜单展示并选择内容。

TIP

在版本 2.5.0之后, el-select 的默认宽度更改为 100% 当使用内联形式时,宽度将显示异常。为了保持显示正常, 您需要手动配置 el-select 的宽度 (如: 例子).

基础用法

适用广泛的基础单选 v-model 的值为当前被选中的 el-option 的 value 属性值

Select

Options 属性 2.10.5

el-option 基本用法。您可以通过 props 属性自定义 options 的别名。

Select

有禁用选项

在 el-option 中,设定 disabled 值为 true,即可禁用该选项

Select

禁用状态

禁用整个选择器组件

为 el-select 设置 disabled属性,则整个选择器不可用。

Select

可清空

您可以使用清除图标来清除选择。

为 el-select 设置 clearable 属性,则可将选择器清空。

Select

尺寸

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

Select
Select
Select

基础多选

多选选择器使用 tag 组件来展示已选中的选项。

为 el-select 设置 multiple 属性即可启用多选,此时 v-model 的值为当前选中值所组成的数组。默认情况下选中值会以 Tag 组件的形式展现,你也可以设置 collapse-tags 属性将它们合并为一段文字。您可以使用 collapse-tags-tooltip 属性来启用鼠标悬停折叠文字以显示具体所选值的行为。

default

Select

use collapse-tags

Select

use collapse-tags-tooltip

Select

use max-collapse-tags

Select

自定义模板

你可以自定义如何来渲染每一个选项。

将自定义的 HTML 模板插入 el-option 的 slot 中即可。

Select

自定义下拉菜单的头部 2.4.3

您可以自定义下拉菜单的头部。

Use slot to customize the content.

Select

自定义下拉菜单的底部 2.4.3

您可以自定义下拉菜单的底部。

使用slot 自定义内容

Select

将选项进行分组

你可以为选项进行分组来区分不同的选项

使用 el-option-group 对备选项进行分组,它的 label 属性为分组名

Select

筛选选项

可以利用筛选功能快速查找选项。

为el-select添加filterable属性即可启用搜索功能。默认情况下,Select 会找出所有 label 属性包含输入值的选项。如果希望使用其他的搜索逻辑,可以通过传入一个 filter-method 来实现。 filter-method 为一个 Function,它会在输入值发生变化时调用,参数为当前输入值。

Select

远程搜索

输入关键字以从远程服务器中查找数据。

从服务器搜索数据,输入关键字进行查找。为了启用远程搜索,需要将filterable和remote设置为true,同时传入一个remote-method。 remote-method为一个Function,它会在输入值发生变化时调用,参数为当前输入值。需要注意的是,如果 el-option 是通过 v-for 指令渲染出来的,此时需要为 el-option 添加 key 属性,且其值需具有唯一性,比如这个例子中的 item.value。

default

Please enter a keyword

use remote-show-suffix

Please enter a keyword

创建新的选项

创建并选中未包含在初始选项中的条目。

通过使用 allow-create 属性,用户可以通过输入框创建新项目。为了使 allow-create 正常工作, filterable 的值必须为 true。本例还使用了 default-first-option 属性,在该属性为 true 的情况下,按下回车就可以选中当前选项列表中的第一个选项,无需使用鼠标或键盘方向键进行定位。

Choose tags for your article

使用值键 value-key 属性

如果 Select 的绑定值为对象类型,请务必指定 value-key 作为它的唯一性标识。

通过使用 value-key 属性,可以正确处理带有重复label的数据。这样虽然label 是重复的,但任可通过 id 来确认唯一性。

Select

selected option's description: no select

自定义标签 2.5.0

您可以自定义标签。

将自定义的标签插入 el-select 的 slot 中即可。 collapse-tags, collapse-tags-tooltip, max-collapse-tags 在此模式下不生效.

自定义加载 2.5.2

修改加载区域内容

loading icon1

Please enter a keyword

loading icon2

Please enter a keyword

空值配置2.7.0

若想配置如空字符串为有效值而不是空值,可以配置 empty-values 为 [null, undefined].

如果您想要将清空值更改为 null, 请设置 value-on-clear 为 null

All

自定义标签 2.7.4

您可以自定义标签

Label1: Option1
Label1: Option1

Select API

Select Attributes

属性名说明类型默认值
value选中项的值,多选时为数组string / number / boolean / object / array—
options选项数据,分组项通过 options 子数组嵌套array[]
props选项字段别名object—
value-key选中值对象作为唯一标识的字段名stringvalue
multiple是否多选booleanfalse
disabled是否禁用booleanfalse
size尺寸enum—
clearable是否可清空booleanfalse
clear-icon自定义清空图标ReactNode—
filterable是否可搜索booleanfalse
filter-method自定义过滤方法Function—
remote是否远程搜索,需同时开启 filterablebooleanfalse
remote-method远程搜索方法Function—
remote-show-suffix远程搜索时是否显示后缀图标booleanfalse
debounce远程搜索防抖时长(毫秒)number300
loading是否正在加载数据booleanfalse
loading-text加载中文案string加载中
reserve-keyword多选且可搜索时是否保留关键词booleantrue
default-first-option回车时是否选中第一个匹配项booleanfalse
allow-create是否允许创建新选项,需开启 filterablebooleanfalse
automatic-dropdown非搜索模式下聚焦是否自动展开booleanfalse
multiple-limit多选数量上限,0 表示不限number0
collapse-tags多选时是否折叠标签booleanfalse
collapse-tags-tooltip折叠标签是否在悬停时展示全部booleanfalse
max-collapse-tags折叠时最多展示的标签数number1
tag-type标签类型enuminfo
tag-effect标签主题enumlight
placeholder占位文本string请选择
no-data-text无选项时的文案string无数据
no-match-text搜索无匹配项时的文案string无匹配数据
popper-class / popper-style下拉浮层的类名与样式string / object—
teleported下拉是否传送到 bodybooleantrue
persistent下拉关闭后是否保留 DOMbooleantrue
effect浮层主题enumlight
placement下拉位置stringbottom-start
fallback-placements下拉翻转兜底位置array—
show-arrow是否显示下拉箭头booleantrue
offset下拉与输入框的间距number12
fit-input-width下拉宽度是否与输入框一致,或传固定数值boolean / numbertrue
suffix-icon自定义后缀图标ReactNode—
empty-values空值集合array—
value-on-clear清空后的返回值string / number / boolean / Function / null—
scrollbar-always-on是否总是显示滚动条booleanfalse
validate-event值变化时是否触发表单校验booleantrue
name原生 input namestring—
id原生 input idstring—
autocomplete原生 autocompletestringoff
tabindex原生 input tabindexstring / number0
aria-label无障碍标签string—
class-name / style根元素类名与样式string / object—

Select Events

事件名说明参数
onChange选中值变化Function
onVisibleChange下拉可见性变化Function
onRemoveTag多选移除标签Function
onClear点击清空Function
onFocus获得焦点Function
onBlur失去焦点Function
onEndReached滚动到边界Function

Select Slots(React render props)

名称说明参数
children自定义选项内容Function
label自定义选中值与标签文案Function
tag自定义多选标签Function
header下拉头部ReactNode
footer下拉底部ReactNode
loadingSlot自定义加载内容ReactNode
empty自定义空数据内容ReactNode
prefix输入框前缀ReactNode

Select Exposes

方法说明参数
focus使选择器获得焦点—
blur使选择器失去焦点—
scrollTo滚动到指定选项Function
selectedLabel当前选中项文案,多选返回数组—

SelectOptionType

字段说明类型默认值
value选项值,字段名可通过 props.value 改写string / number / boolean / object—
label选项显示文本,字段名可通过 props.label 改写ReactNode—
disabled是否禁用该项,字段名可通过 props.disabled 改写booleanfalse
options分组选项的子选项,字段名可通过 props.options 改写array—
type在内置类型中固定为 Group 时渲染为分组标题string—
created由 allow-create 生成的临时选项booleanfalse