组件 / 输入
开关
定义开关的结构、状态、Token 和使用边界。
结构
组成部分
- 01可见标签
- 02控件
- 03值或占位文字
- 04说明或错误信息
预览
交互调整
使用强调色表示直接值选择
<Switch />外观
视觉样式
- 默认
- 轻量
- 强调
尺寸
规格
- 小
- 中
- 大
状态
交互状态
内容
使用规则
建议
- 使用直接、稳定的标签。
- 只显示完成当前任务需要的信息。
避免
- 不要依赖颜色单独表达状态。
- 不要为装饰增加额外强调色。
Token
组件映射
| 名称 | 类型 | 浅色 | 深色 | 预览 |
|---|---|---|---|---|
component.switch.background.rest开关默认背景 | color | oklch(1 0 0) | oklch(0.29 0.003 255) | |
component.switch.background.hover开关悬停背景 | color | oklch(0.95 0 255) | oklch(0.38 0.007 255) | |
component.switch.background.selected开关选中背景 | color | oklch(0.368 0.161 261.395) | oklch(0.82 0.052 261.395) | |
component.switch.text.default开关文字 | color | oklch(0.2 0.001 255) | oklch(0.98 0 255) | |
component.switch.border.default开关边框 | color | oklch(0.82 0.004 255) | oklch(0.47 0.01 255) | |
component.switch.radius开关圆角 | dimension | 0.625rem | 0.625rem | Aa |
component.switch.motion.duration开关交互动效 | duration | 120ms | 120ms | Aa |
无障碍
语义与键盘
无障碍
- 使用原生语义或完整实现对应 ARIA 模式。
- 提供可见焦点和不依赖颜色的状态提示。
键盘
- Tab 进入或离开组件。
- Enter 或 Space 执行当前操作。
属性与接口
公开接口
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
disabled | boolean | false | 禁用交互。 |
className | string | — | 附加样式类。 |
aria-label | string | — | 无可见标签时提供名称。 |
<Switch />