组件 · 数据录入
Toggle 切换按钮
按下态切换按钮(非 Switch)。
使用建议
- 避免:与 Switch 语义混淆
- 限制:属性与导出以 @selrux/ui 对应子路径 d.ts/源码为准,禁止臆造
引入
tsx
import { Toggle } from '@selrux/ui/toggle';演练场
调节下方可实现的字面量属性,实时预览真实组件。函数、Portal、样式逃生口等见代码演示与 API 表。
代码演示
基础用法
两态切换按钮,pressed 反映在 aria-pressed。
外观与状态
variant 为 soft / outline;defaultPressed、disabled。
受控与尺寸
pressed / onPressedChange 受控并显示状态;size 尺寸;type 为原生按钮类型(默认 button)。
pressed = false
API
属性覆盖:示例用到 6 / 6 个自有属性(100%)
由 scripts/demo-coverage.mjs 统计,不含 className / style / 原生透传属性与纯转发事件。
Toggle
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
size | - | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | - |
variant | - | "soft" | "outline" | - |
pressed | - | boolean | - |
defaultPressed | - | boolean | - |
onPressedChange | - | ((pressed: boolean) => void) | - |
type | - | "button" | "submit" | "reset" | - |
另有 288 项原生属性与事件继承自 ButtonHTMLAttributes / HTMLAttributes,原样透传。
导出类型:ToggleProps、ToggleSize、ToggleVariant