Skip to content

下拉选择框

选择器组件用于从选项列表中收集用户提供的信息。

使用

API

组件描述
v-select主要组件
v-autocomplete一个允许进行高级过滤的选择组件
v-combobox一个允许进行过滤和自定义值的选择组件

注意

DANGER

当使用对象作为 items 属性时,你必须将 item-titleitem-value 与你对象上的现有属性关联起来。这些值默认为 titlevalue,可以进行更改。

指南

v-select 组件目的在于替代标准的 <select> 元素。它常常和 v-form 以及其他输入控制组件一起使用。

属性

所有的表单输入都有大量的 API,可定制性非常强。

间距

您可以使用 density 属性来调整组件内部的垂直间距。

多选

multiple 属性允许多个选择。

纸片

使用 chips 属性,将选择的内容显示成纸片。

只读

可以在 v-select 上使用 readonly 属性,避免用户修改它的值。

禁用

disabled 属性应用于 v-select 将阻止用户与组件交互。

自定义显示值 (title) 和实际值 (value)

你可以自定义选项数组中的显示值和实际值对应的字段。默认情况下是 titlevalue。下面的例子除了使用了自定义显示值和实际值外,还使用了 return-object 属性,可以返回选择项的整个对象。

自定义项目属性

item-titleitem-value 是为了方便提供的,额外的属性可以通过 item 插槽(见下文)或 itemProps 属性传递给列表项。

与 title 和 value 类似,默认值为 "props",它将每个项目对象的 props 键中的所有内容传递给列表项。

js
const items = [
  {
    title: 'John',
    props: { subtitle: 'Engineering' },
  },
]

:item-props="true" 将使用整个项目对象作为 props。这会覆盖 item-titleitem-value

js
const items = [
  {
    title: 'John',
    subtitle: 'Engineering',
  },
]

或者可以将自定义的转换函数传递给 itemProps,以生成每个项目的 props。

查看 VListItem API 以获取可用 props 的列表。

插槽

v-select 组件提供了可以轻松自定义组件的插槽。包括 prependappend 插槽,以及 selectionno-data 插槽。

项目

item 插槽用于更改列表中项目的渲染方式。它提供了 item,一个包含转换后的 item-title 和 item-value 的 InternalItem 对象;以及 props,一个包含通常绑定到列表项的 props 和事件的对象。

额外选项

v-select 组件可以选择性地通过前置和后置项进行扩展。这非常适合自定义的 select-all 功能。

选择

selection 插槽可以自定义选择的值如何在输入框内显示。如果你不想输入框因为内容太多变成多行,那这是很好的解决方案。