Skip to content

Select 选择器 ​

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

基础用法 ​

通过 options 数组配置选项,使用 v-model 绑定选中值。

可多选 ​

通过 multiple 属性启用多选,选中项以标签形式展示。

多选标签折叠 ​

通过 collapseTags 折叠多选标签,collapseTagsLimit 控制折叠前最多显示的标签数。

可搜索 ​

通过 filterable 属性启用搜索过滤,快速定位选项。

分组选项 ​

通过 optionGroups 属性传入分组数据,按类别展示选项。

创建新选项 ​

通过 allowCreate 属性允许用户在搜索不到匹配项时创建新选项。需配合 filterable 使用。

远程搜索 ​

通过 remote 和 remoteMethod 启用远程搜索,适合大数据量场景。

全选与反选 ​

在多选模式下,下拉菜单顶部自动显示全选/反选栏,支持一键全选或取消全选。

虚拟滚动 ​

通过 virtualScroll 属性启用虚拟滚动,适合 1000+ 选项的大数据量场景,大幅减少 DOM 节点数量。

大数据量示例 ​

当选项数量达到 10,000+ 时,虚拟滚动可将 DOM 节点数从上万减少到几十个。以下示例展示 10,000 条数据的单选 + 搜索、以及多选 + 搜索场景。通过 estimatedOptionHeight 可自定义选项高度。

以下两个选择器均加载了 10,000 条选项,开启虚拟滚动后性能依然流畅。

可清空与尺寸 ​

通过 clearable 属性显示清空按钮,size 属性调整选择器尺寸。

前缀图标与空状态 ​

通过 prefix 插槽添加前缀内容,通过 empty 插槽自定义无数据时的展示。

禁用与加载状态 ​

Select API ​

SelectOption 类型 ​

ts
interface SelectOption {
  label: string
  value: string | number
  disabled?: boolean
}

SelectOptionGroup 类型 ​

ts
interface SelectOptionGroup {
  label: string
  options: SelectOption[]
  disabled?: boolean
}

Props ​

参数说明类型默认值
modelValue绑定值string | number | (string | number)[]—
options选项数据源(扁平)SelectOption[][]
optionGroups分组选项数据源SelectOptionGroup[][]
multiple是否多选booleanfalse
filterable是否可搜索过滤booleanfalse
allowCreate是否允许创建新选项(需配合 filterable)booleanfalse
clearable是否可清空booleanfalse
disabled是否禁用booleanfalse
loading是否显示加载中booleanfalse
loadingText加载中显示的文案string加载中...
remote是否远程搜索booleanfalse
remoteMethod远程搜索方法(query: string) => Promise<SelectOption[]>—
collapseTags多选时是否折叠标签booleanfalse
collapseTagsLimit折叠前最多显示的标签数number1
virtualScroll是否启用虚拟滚动(推荐 1000+ 选项时开启)booleanfalse
estimatedOptionHeight虚拟滚动选项的预估行高(px)number36
placeholder占位文本string请选择
size选择器尺寸large | medium | smallmedium
noDataText无数据时显示的文本string暂无数据
noMatchText无匹配时显示的文本string无匹配数据

Events ​

事件名说明回调参数
update:modelValue绑定值更新时触发(value: SelectValue)
change选中值变化时触发(value: SelectValue)
focus获取焦点时触发(event: FocusEvent)
blur失去焦点时触发(event: FocusEvent)
clear点击清空按钮时触发()
visible-change下拉菜单显隐变化时触发(visible: boolean)
remove-tag多选移除标签时触发(tag: string | number)
search搜索输入时触发(query: string)
create-tag创建新选项时触发(value: string)

Slots ​

插槽名说明
prefix选择器前置内容(如前缀图标)
empty无选项时的自定义内容

基于 MIT 许可发布