<!-- CWA Design 0.1.0-alpha.4; Registry sha256:89fa672035ff6dded40573b81274804d8eb2ed6aa8473a30329912a769c9202a -->

[组件 ](/cwa-design/components/)/数据输入

# Select选择器

字符串值单选；选择值用 Select，动作菜单用 DropdownMenu。

Alpha

从较多候选中选择一个，支持键盘导航与原生表单提交。

[交互示例 ](#examples)[API ](#api)[Storybook ↗ ](/cwa-design/storybook/?path=/story/components-select--basic)[Registry ↗ ](/cwa-design/downloads/registry/0.1.0-alpha.4/manifest.json)

## 引入

TSX复制

```
import { Select, SelectContent, SelectItem } from "@cwa-design/react";
import "@cwa-design/react/styles.css"; // 应用入口引入一次
```

当前通过源码 workspace 使用。[查看有效安装步骤 → ](/cwa-design/docs/getting-started/)

## 交互示例

可切换示例主题、开启实色降级并重置状态。应用根部需要 CwaProvider。

### Select 基础用法

可运行示例 · 与复制源码同源

重置

正在准备交互示例…

select-basic示例主题跟随网站浅色示例深色示例实色降级

查看与复制源码TSX复制

```
// 应用入口引入 @cwa-design/react/styles.css，并将此示例置于 CwaProvider 内。
import { Select, SelectContent, SelectItem } from "@cwa-design/react";

export default function Example() {
  return (
    <Select
      defaultValue="design"
      name="workspace"
      items={{ design: "设计团队", engineering: "研发团队" }}
    >
      <Select.Trigger aria-label="工作区">
        <Select.Value />
      </Select.Trigger>
      <SelectContent>
        <SelectItem value="design">设计团队</SelectItem>
        <SelectItem value="engineering">研发团队</SelectItem>
      </SelectContent>
    </Select>
  );
}

```

在应用根部引入 styles.css 并配置 CwaProvider。源码 SHA-256：59ba00c9968f

## API

下表读取本版本组件契约。原生与 Base UI 继承属性的完整定义保留在 TypeScript 声明中。

类型：SelectRootPropsAlias · 继承 @base-ui/react/select#SelectRootProps<Value extends string>；value/defaultValue/onValueChange、open/defaultOpen/onOpenChange、name/items/disabled 等完整继承；Multiple 泛型固定为默认 false · [候选源类型 ↗ ](/cwa-design/downloads/source/packages/react/src/select/select.tsx)

属性说明类型默认值

childrenReactNode；内容由调用方提供ReactNode；内容由调用方提供—

### Select.Trigger

默认样式的触发器：自动附加 cwa-design-select__trigger 类；children 未含 <Select.Icon> 时追加一个默认展开指示，已含自定义 Icon 时不追加（可关闭重复）；render 接管时由调用方负责；className（含函数）/ref 合并保留。

类型：SelectTriggerProps · 继承 @base-ui/react/select#SelectTriggerProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Value

Base UI Value 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectValueProps · 继承 @base-ui/react/select#SelectValueProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Icon

Base UI Icon 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectIconProps · 继承 @base-ui/react/select#SelectIconProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Portal

Base UI Portal 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectPortalProps · 继承 @base-ui/react/select#SelectPortalProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Positioner

Base UI Positioner 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectPositionerProps · 继承 @base-ui/react/select#SelectPositionerProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Popup

Base UI Popup 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectPopupProps · 继承 @base-ui/react/select#SelectPopupProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.List

Base UI List 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectListProps · 继承 @base-ui/react/select#SelectListProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Item

Base UI Item 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectItemProps · 继承 @base-ui/react/select#SelectItemProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.ItemText

Base UI ItemText 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectItemTextProps · 继承 @base-ui/react/select#SelectItemTextProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.ItemIndicator

Base UI ItemIndicator 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectItemIndicatorProps · 继承 @base-ui/react/select#SelectItemIndicatorProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.Group

Base UI Group 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectGroupProps · 继承 @base-ui/react/select#SelectGroupProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### Select.GroupLabel

Base UI GroupLabel 的直接导出；未自动附加 CWA Content 组合样式。

类型：SelectGroupLabelProps · 继承 @base-ui/react/select#SelectGroupLabelProps；直接使用 Base UI 1.8.0 完整类型（含原生属性、render/ref） · [候选源类型 ↗ ](/cwa-design/downloads/source/@base-ui/react/select/index.d.ts)

没有新增 CWA 属性；完整继承属性见上方源类型声明。

### SelectContent

主题化 Portal、Positioner 与 Popup 的 CWA 组合。

类型：SelectContentProps · [候选源类型 ↗ ](/cwa-design/downloads/source/packages/react/src/select/select.tsx)

属性说明类型默认值

childrenReactNode；内容由调用方提供ReactNode；内容由调用方提供—

className附加样式类；具体合并行为以实现为准string—

material见类型定义"glass" | "solid""glass"

### SelectItem

字符串单选项，包含文字与选中标记。

类型：SelectItemProps · [候选源类型 ↗ ](/cwa-design/downloads/source/packages/react/src/select/select.tsx)

属性说明类型默认值

value必填见类型定义string—

childrenReactNode；内容由调用方提供ReactNode；内容由调用方提供—

disabled见类型定义boolean—

className附加样式类；具体合并行为以实现为准string—

## 材质与状态

常规玻璃材质规则来自源 metadata。覆盖玻璃区域的浮层按实际重叠关系选择较厚或实色材质。

默认 glass；Provider material="solid" 优先。实际玻璃背景重叠时使用 solid；系统减少透明、增强对比、forced-colors 或不支持 blur 时按公共材质规则降级。

### 媒体对照舞台

打开浮层，检查玻璃透色、边缘与阴影在真实亮/暗照片上的表现。

真实亮照片真实暗照片自绘明暗分区

打开、选中、禁用与焦点状态叠加在同一背景上；Tab 检查焦点可见性。

设计团队

适用的状态与行为见示例及本页 API；系统减少透明与显式 solid 配置会启用回退。

[阅读材质指南 → ](/cwa-design/design/materials/)

## 关联 Token

以下变量从组件源样式的实际引用生成。共享光学规则还使用全局玻璃 Token。

--cwa-design-color-control-focus--cwa-design-color-control-focus-halo--cwa-design-space-2--cwa-design-space-3--cwa-design-font-family--cwa-design-font-size-body--cwa-design-color-text--cwa-design-color-surface--cwa-design-color-glass-reflection--cwa-design-color-border-subtle--cwa-design-radius-control--cwa-design-color-glass-inner-shade--cwa-design-color-glass-inner-highlight--cwa-design-motion-control--cwa-design-focus-control-halo-width--cwa-design-color-danger--cwa-design-focus-control-width--cwa-design-focus-control-offset--cwa-design-color-text-muted--cwa-design-z-popup--cwa-design-space-1--cwa-design-color-surface-raised--cwa-design-shadow-contact-y--cwa-design-shadow-contact-blur--cwa-design-color-glass-contact-shadow--cwa-design-shadow-ambient-y--cwa-design-shadow-ambient-blur--cwa-design-color-glass-ambient-shadow--cwa-design-color-accent--cwa-design-color-border-strong--cwa-design-focus-width

[在主题实验室调整公开 Token → ](/cwa-design/themes/)

## 无障碍与使用约束

- accessible-name-required-for-controls
- visible-focus-for-interactive-parts
- keyboard-behavior-from-native-or-base-ui

这些是组件契约与使用要求。具体业务页面仍需验证标签、阅读顺序与实际背景下的对比度。

[查看无障碍使用指南 → ](/cwa-design/design/accessibility/)

## 相关组件

[Field表单字段 ](/cwa-design/components/field/)[Input输入框 ](/cwa-design/components/input/)[Textarea多行输入 ](/cwa-design/components/textarea/)[Checkbox复选框 ](/cwa-design/components/checkbox/)
