R后悔药 Rue.js
  • 首页
    • 深度指南
    • 实战例子
    • 快速上手
    • 路由指南
    • 术语表
    • 错误代码参考
  • API
    • 合作伙伴
    • 插件
    • 组件库
    • 工具链
    • Text.js
    • 新闻简报
    • 常见问题
    • 团队
    • 版本发布
    • 社区指南
    • 行为规范
    • 隐私政策
  • 赞助
  • 合作伙伴
设置
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window

Select 选择器

Select 用于从一组选项中选择一个或多个值。组件使用 Rue 当前的原生 select 语义:单选仍然是浏览器自己的下拉行为,mode="multiple" 默认切到紧凑下拉标签模式,而显式传入 nativeSize 或原生 multiple 时会回到浏览器 listbox;同时补上 options 数据源、fieldNames、allowClear、status、variant、语义回调与前后缀 shell 等更接近业务开发的 API。

基础能力

先展示 children 写法,再把数据驱动、分组和 shell 组合能力补进来。

# Select

当前选择:Amber

# Data source and groups

当前部署区域:杭州 Hangzhou

  • 适用场景多级地区、分组资源池、后端枚举字典。
  • 支持方式保持 children,同时允许后续切换到 options。

# Prefix, suffix and allowClear

Owner @ stable

当前 owner:Platform team

这个场景适合做环境、Owner、命名空间、租户等“选择器本身需要上下文”的表单。

# Label in value and semantic callbacks

当前结构:{"value":"release","key":"release","label":"Release digest"}
最新事件:init:release
  • 适用场景表单引擎、埋点上报、需要同步 label 与 value 的配置面板。
  • 保持原生回调升级了,但实际交互仍然是原生单选下拉,不额外引入自定义弹层。

# Ghost

# With fieldset and labels

BrowsersOptional

# Color variants

Primary
Secondary
Accent
Neutral
Info
Success
Warning
Error

增强场景

status、variant、紧凑多选、loading 与空态覆盖常见业务表单场景。

# Status and variants

# Sizes

# Multiple selection

Release digestLabs rollout
Release digest
Design review
Labs rollout
Incident summary

已选择:Release digest / Labs rollout

默认是紧凑下拉多选,不再自动占满垂直空间
已选项会以内联标签展示,并保持下拉面板勾选态

# Native multiple listbox via nativeSize

仍可通过 nativeSize 回退到原生 listbox:Release digest / Labs rollout

这个模式适合后台工具、批量操作或需要一次性看到更多可选项的场景。只要显式传入 nativeSize,Select 就会保持浏览器自己的多选列表框行为。

# Multiple with maxCount

最多保持 2 项:Release digest / Design infra

这个限制发生在原生 listbox 选择完成后,组件会把超出的选择自动裁剪回允许范围,适合权限绑定、通知订阅、灰度批次等固定上限场景。

# Disabled

# Loading and empty states

Loading
Empty

原生语义

需要时仍可直接退回原生 select 的细粒度控制,例如 appearance 与浏览器默认下拉箭头处理。

# Using OS native style

API

下面列出组件后最值得关注的 Select API。原生 select 的 name、disabled、required、multiple、onChange 等属性仍全部透传,单选下拉也仍然由浏览器自己渲染。

属性说明类型默认值
allowClear在 shell 模式下追加清空按钮,点击后会派发原生 change 事件booleanfalse
color使用 Rue 当前 select-<tone> 颜色层'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'-
fieldNames自定义 options 数据源里的 label、value、options、groupLabel 字段名SelectFieldNames{ label, value, options, groupLabel }
ghost支持API,等价于 variant="ghost" 的快捷写法booleanfalse
loading显示 loading 状态并暂时禁用选择器booleanfalse
labelInValue让 onValueChange / onSelect / onDeselect 返回 { value, label, key } 结构booleanfalse
maxCount多选模式下限制可选数量,超出后回退到允许范围内的选择结果number-
mode当前支持 `multiple`;默认渲染紧凑下拉多选,配合 nativeSize 时回退到原生 listbox`multiple`-
nativeSize原生 size 属性;在 mode="multiple" 下显式传入时会启用浏览器 listbox 形态并控制可见行数number | string-
notFoundContent当没有 children 与 options 时渲染的空态 option 文案any`暂无可选项`
onClear点击清空按钮后触发,适合做埋点或同步外部状态(event: MouseEvent) => void-
onDeselect多选取消或单选切换掉原值时触发,返回被移除的值与 option 信息(value, option, event) => void-
onSelect选择某个 option 时触发,返回新增值与 option 信息(value, option, event) => void-
onValueChange比原生 onChange 更语义化,直接返回 value 与 labels / options 上下文(value, context) => void-
options使用结构化数据声明 option / optgroup,而不是手写 childrenSelectOptionData[]-
optionLabelProp指定语义回调和 labelInValue 优先读取哪个字段作为 labelstring`label` / 文本内容
placeholder在单选模式下注入占位 option,可与 allowClear 联动any-
prefix / suffix / addonBefore / addonAfter进入 shell 布局,把说明性内容嵌入到选择器两侧any-
selectClassNameshell 模式下追加到内部原生 select,普通模式下与 className 合并string-
showArrow / suffixIconshell 模式下控制默认箭头或自定义后置图标,不改变原生下拉行为boolean / anytrue / -
size / uiSize支持 xs-sm-md-lg-xl 与 small-middle-large 别名;数字仍按原生 size 处理SelectVisualSize | number | string-
status表单状态色,优先级高于 color,适合校验反馈`success` | `warning` | `error`-
variant选择器外观变体,补充 filled / ghost / borderless 语义`outlined` | `filled` | `ghost` | `borderless``outlined`
页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS