虚拟化选择

TIP

该组件仍在测试中,如果您发现任何错误或问题,请在 GitHub 报告,以便我们修复。

背景

在某些用例中,单个选择器可能最终会加载数万行数据。 将如此多的数据渲染到 DOM 中可能会给浏览器带来负担,从而导致性能问题。 为了更好的用户和开发人员体验,我们决定添加此组件。

基本用法

最简单的选择器

Please select

多选

带标签的基本多选选择器

Please select

确认与取消

SelectV2 默认保留虚拟列表能力;多选场景会先缓存草稿值,再在确认后同步。

这个示例展示单选和多选的默认行为。展开多选后可以查看确认与取消流程。

单选
请选择分组

当前值:未选择

多选
请选择门店

已确认:未确认

尺寸

添加 size 属性以更改 Select-V2 的大小。除了默认尺寸外,还有另外两个选项:largesmall

Please select
Please select
Please select

当选择的项目太多时隐藏多余的标签

您可以使用 collapse-tags 属性将标签折叠为文本,并在点击折叠摘要时通过 collapse-tags-tooltip 查看完整选中项。

use collapse-tags

Please select

use collapse-tags-tooltip

Please select

use max-collapse-tags

Please select

可过滤的多选

当选项太多时,可以使用filterable选项启用过滤功能,以找出所需的选项

Please select

禁用选择器和选择选项

您可以选择禁用选择器本身或选项。

Please select
Please select

选项分组

只要数据满足模式,我们就可以根据需要对选项进行分组。

Please select

可清除选择器

我们可以一次性清除所有选中的选项,也适用于单选。

Please select
Please select

自定义选项渲染器

我们可以定义自己的模板来呈现弹出窗口中的选项。

Please select

下拉菜单标题 2.5.2

您可以自定义下拉列表的标题。

使用插槽自定义内容。

Select

下拉菜单的页脚 2.5.2

您可以自定义下拉菜单的页脚。

使用插槽来自定义内容。

Select

创建选项

创建并选择未包含在选择选项中的新项目

通过使用 allow-create 属性,用户可以通过在输入框中键入内容来创建新项目。请注意,要使 allow-create 正常工作,filterable 必须是 true。此示例还演示了 default-first-option。当此属性设置为 true 时,您可以通过按 Enter 键选择当前选项列表中的第一个选项,而无需使用鼠标或箭头键导航。

TIP

使用allow-create时最好设置:reserve-keyword="false"

Please select
Please select

set reserve-keyword false

Please select

远程搜索

输入关键字并从服务器搜索数据。

filterableremote的值与true一起设置以启用远程搜索,并且您应该传递remote-methodremote-method是当输入值改变时调用的Function,其参数为当前输入值。

default

Please enter a keyword

use remote-show-suffix

Please enter a keyword

使用值键属性

options.value是一个对象时,应该为value设置一个唯一的身份键名称

TIP

2.4.0 之前,value-key 既用作所选对象的唯一值,又用作 options 中的值的别名。现在value-key仅用作所选对象的唯一值,选项中的值的别名为props.value

自定义选项的别名 2.4.2

当您的options格式与默认格式不同时,您可以通过props属性自定义options的别名

Please select

自定义标签 2.5.0

您可以自定义标签。

将自定义标签插入 el-select 的插槽中。 collapse-tagscollapse-tags-tooltipmax-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

自定义标签 2.7.4

您可以自定义标签。

: Option 1

API

属性

名称描述类型默认
模型值 / v 模型绑定值字符串 / 数字 / 布尔值 / 对象 / 数组
选项选项数据,valuelabel 的密钥可以通过 props 自定义数组
道具 2.4.2配置选项见下表对象
多个是多个布尔值
已禁用已禁用布尔值
值键值的唯一标识键名称,当值是对象时需要字符串价值
尺寸元件尺寸枚举''
可清除是否可以清除select布尔值
清除图标自定义清晰图标字符串 / 对象圆圈关闭
折叠标签多重选择时是否将标签折叠为文本布尔值
多重限制当 multiple 为 true 时,用户可以选择的最大选项数。设置为 0 时无限制数字0
编号本机输入 id 输入字符串
名称选择输入的名称属性字符串
效果工具提示主题,内置主题:dark / light枚举 / 字符串
自动完成选择输入的自动完成字符串关闭
占位符占位符字符串请选择
可过滤Select 是否可过滤布尔值
允许创建是否允许创建新项目。要使用此功能,filterable 必须为 true布尔值
过滤方法自定义过滤方法,第一个参数是当前输入值。要使用此方法,filterable 必须是 true 方法功能
加载Select 是否正在从服务器加载数据布尔值
加载文本从服务器加载数据时显示的文本,默认为“正在加载”字符串
保留关键字选择过滤选项后是否保留关键字。布尔值真实
默认第一选项按 Enter 键选择第一个匹配选项。与 filterableremote 一起使用布尔值
不匹配文本当没有数据与过滤查询匹配时显示的文本,也可以使用插槽empty,默认为'无匹配数据'字符串
无数据文本没有选项时显示的文本,也可以使用 slot empty字符串没有数据
波普尔级Select 下拉列表和标签工具提示的自定义类名称字符串 / 对象''
波普风格 2.11.0选择下拉菜单和标签工具提示的自定义样式字符串 / 对象
追加到 2.8.8选择下拉列表附加到哪个元素CSS选择器 / HTMLElement
执着当选择下拉列表处于非活动状态且 persistentfalse 时,选择下拉列表将被销毁布尔值真实
自动下拉对于不可过滤的 Select,此属性决定当输入聚焦时是否弹出选项菜单布尔值
后缀图标 2.9.8自定义后缀图标组件字符串 / 对象向下箭头
高度下拉面板高度,每一项默认 34px数字274
项目高度下拉项高度数字34
估计选项高度控制虚拟列表大小调整模式:如果未定义,则列表使用 item-height 中的固定项目高度;如果提供,列表将使用动态项目大小调整,并将该值作为估计的项目高度。数字
滚动条始终开启控制滚动条是否始终显示布尔值
远程是否从服务器检索数据布尔值
去抖 2.11.7远程搜索期间的去抖延迟(毫秒)数字300
远程方法当输入值改变时调用的函数。其参数为当前输入值。要使用此功能,filterable 必须为 true功能
远程显示后缀 2.11.9在远程搜索方法中显示后缀图标布尔值
验证事件是否触发表单验证布尔值真实
折叠标签工具提示 2.3.0点击折叠标签摘要时是否显示所有选定的标签。要使用此功能,collapse-tags 必须为 true布尔值
标签工具提示 2.13.3折叠标签工具提示的配置对象。要使用此功能,collapse-tagscollapse-tags-tooltip 必须为 true对象{}
最大折叠标签 2.3.0要显示的最大标签数。要使用此功能,collapse-tags 必须为 true数字1
标签类型 2.5.0标签类型枚举信息
标签效果 2.7.7标签效果枚举
咏叹调标签 a11y 2.5.0与本机输入中的 aria-label 相同字符串
空值 2.7.0组件的空值,参见配置提供程序数组
清除值 2.7.0清除返回值,参见配置提供程序字符串 / 数字 / 布尔值 / 函数
选项卡索引 2.9.0输入的 tabindex字符串 / 数字

道具

属性描述类型默认
价值指定节点对象的哪个键用作节点的值字符串价值
标签指定节点对象的哪个键用作节点的标签字符串标签
选项指定节点对象的哪个键用作节点的子节点字符串选项
已禁用指定节点对象的哪个键用作节点的禁用字符串已禁用

标签工具提示 2.13.3

回退机制

tag-tooltip 中的属性遵循以下优先顺序:

  1. 标签工具提示对象中显式定义的字段。
  2. el-select-v2 继承的共享属性,例如 effectpopper-classpopper-style
  3. 底层 el-tooltip 组件的默认值。

这允许您覆盖标签工具提示的局部行为,同时保持与默认下拉层一致的基础表现。

属性描述类型默认
效果工具提示主题,内置主题:dark / light枚举 / 字符串
波普尔级工具提示弹出器的自定义类名字符串
波普风格工具提示弹出窗口的自定义样式字符串 / 对象
过渡动画名称字符串
后显示出现延迟,以毫秒为单位数字
隐藏后消失延迟,以毫秒为单位数字
自动关闭隐藏工具提示的超时时间(毫秒)数字

活动

名称描述类型
改变当选定值改变时触发,参数为当前选定值功能
可见变化当下拉菜单出现/消失时触发,出现时参数为 true,否则为 false功能
删除标签多种模式下移除标签时触发,参数为移除标签值功能
清除在可清除的 Select 中单击清除图标时触发功能
模糊当输入模糊时触发功能
焦点当输入聚焦时触发功能

插槽

名称描述类型
默认选项渲染器
标头 2.5.2下拉菜单顶部的内容
页脚 2.5.2下拉菜单底部的内容
选项为空时的内容
前缀输入的前缀内容
标签 2.5.0作为 Select 标签的内容。dataselectDisableddeleteTag2.10.3 中引入。对象
加载 2.5.2内容为 选择加载
标签 2.7.4作为选择标签的内容。index2.11.2 中引入。对象

暴露

名称描述类型
焦点聚焦输入组件功能
模糊模糊输入组件,并隐藏下拉菜单功能
选定标签 2.8.5获取当前选择的标签对象