Skip to content

Select 选择器

显示一个选项列表供用户选择——由按钮触发。复制了 shadcn-vue Select 组件的核心能力,支持单选、多选、搜索、分组和其他功能。基于 BrConfigProvider 进行全局主题配置。

基础用法

最基本的单选模式,支持自定义占位符。

Selected: apple
Example

分组

使用 group 字段将选项分组显示。

Example

远程搜索

启用 filterable 属性并监听 search 事件以实现远程搜索。支持 loading 状态。

Current Value:
Example

多选与可清除

启用 multiple 属性以支持多选,启用 clearable 以支持一键清除。

React
Vue
Selected: [ "react", "vue" ]
Example

尺寸

支持 default, sm, lg 尺寸。

Example

状态

支持 error 状态。

Example

主题定制

BrSelect 组件完全遵循 BrConfigProvider 的主题规范。

全局配置与局部覆盖

  • 全局配置:通过 BrConfigProvidertheme 属性配置全局颜色,Select 组件将自动适配。
  • 局部覆盖:你可以使用 Tailwind CSS 类名直接覆盖样式。

Default Theme

Custom Dark Theme (via ConfigProvider)

Example

API

Props

属性类型默认值说明
modelValuestring | number | (string | number)[]-绑定值
options(string | number | SelectOption)[][]选项数据
placeholderstring'Select an option'占位符
disabledbooleanfalse是否禁用
clearablebooleanfalse是否可清除
filterablebooleanfalse是否可搜索
multiplebooleanfalse是否多选
loadingbooleanfalse是否加载中(用于远程搜索)
emptyTextstring'No options found.'当未找到选项时显示的文本
size'default' | 'sm' | 'lg''default'尺寸
errorbooleanfalse是否处于错误状态

SelectOption 类型

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

Events

名称说明参数
update:modelValue当绑定值变化时触发value: string | number | (string | number)[]
change当选中值变化时触发value: string | number | (string | number)[]
clear当点击清除按钮时触发-
search当搜索输入变化时触发query: string