组件 · 数据录入

Toggle 切换按钮

按下态切换按钮(非 Switch)。

入口 @selrux/ui/toggle · 源码 src/components/toggle/index.ts · 1 个组件 · 发布状态 preview

使用建议

  • 避免:与 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