虚拟化选择 ​

TIP

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

背景 ​

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

基本用法 ​

最简单的选择器

Please select

多选 ​

带标签的基本多选选择器

Please select

确认与取消 ​

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

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

单选
请选择分组

当前值:未选择

多选
请选择门店

已确认:未确认

尺寸 ​

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

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

远程搜索 ​

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

将filterable和remote的值与true一起设置以启用远程搜索,并且您应该传递remote-method。 remote-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-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。

自定义标签 2.7.4 ​

您可以自定义标签。

: Option 1

API ​

属性 ​

名称描述类型默认
模型值 / v 模型绑定值字符串 / 数字 / 布尔值 / 对象 / 数组—
选项选项数据,value 和 label 的密钥可以通过 props 自定义数组—
道具 2.4.2配置选项见下表对象—
多个是多个布尔值假
已禁用已禁用布尔值假
值键值的唯一标识键名称,当值是对象时需要字符串价值
尺寸元件尺寸枚举''
可清除是否可以清除select布尔值假
清除图标自定义清晰图标字符串 / 对象圆圈关闭
折叠标签多重选择时是否将标签折叠为文本布尔值假
多重限制当 multiple 为 true 时,用户可以选择的最大选项数。设置为 0 时无限制数字0
编号本机输入 id 输入字符串—
名称选择输入的名称属性字符串—
效果工具提示主题,内置主题:dark / light枚举 / 字符串光
自动完成选择输入的自动完成字符串关闭
占位符占位符字符串请选择
可过滤Select 是否可过滤布尔值假
允许创建是否允许创建新项目。要使用此功能,filterable 必须为 true布尔值假
过滤方法自定义过滤方法,第一个参数是当前输入值。要使用此方法,filterable 必须是 true 方法功能—
加载Select 是否正在从服务器加载数据布尔值假
加载文本从服务器加载数据时显示的文本,默认为“正在加载”字符串—
保留关键字选择过滤选项后是否保留关键字。布尔值真实
默认第一选项按 Enter 键选择第一个匹配选项。与 filterable 或 remote 一起使用布尔值假
不匹配文本当没有数据与过滤查询匹配时显示的文本,也可以使用插槽empty,默认为'无匹配数据'字符串—
无数据文本没有选项时显示的文本,也可以使用 slot empty字符串没有数据
波普尔级Select 下拉列表和标签工具提示的自定义类名称字符串 / 对象''
波普风格 2.11.0选择下拉菜单和标签工具提示的自定义样式字符串 / 对象—
追加到 2.8.8选择下拉列表附加到哪个元素CSS选择器 / HTMLElement—
执着当选择下拉列表处于非活动状态且 persistent 为 false 时,选择下拉列表将被销毁布尔值真实
自动下拉对于不可过滤的 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-tags 和 collapse-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 继承的共享属性,例如 effect、popper-class、popper-style。
  3. 底层 el-tooltip 组件的默认值。

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

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

活动 ​

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

插槽 ​

名称描述类型
默认选项渲染器—
标头 2.5.2下拉菜单顶部的内容—
页脚 2.5.2下拉菜单底部的内容—
空选项为空时的内容—
前缀输入的前缀内容—
标签 2.5.0作为 Select 标签的内容。data、selectDisabled 和 deleteTag 在 2.10.3 中引入。对象
加载 2.5.2内容为 选择加载—
标签 2.7.4作为选择标签的内容。index 在 2.11.2 中引入。对象

暴露 ​

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