跳至正文

Toggle

在按下与未按下状态之间切换的按钮。

浏览器
Chrome 123+Firefox 121+Safari 17.5+
层级
0
压缩后大小
295 B
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
公开契约
测试环境

交互示例

切换

默认

已禁用

API

Toggle

属性类型默认值说明
id*string—标签所指向的checkbox输入框id。
label*ReactNode—标签内容,点击标签可切换输入框。
pressedboolean—受控的按下状态;提供后由调用方管理状态。
defaultPressedbooleanfalse首次渲染的按下状态。非受控,因此无JavaScript时也可工作。
disabledbooleanfalse禁用输入框,并为外层元素添加data-disabled。
classNamestring—应用于label元素的类名。

键盘

按键操作
Enter / Space获得焦点时切换按下状态

无障碍

原生<button aria-pressed>(组变体使用隐藏的checkbox输入框)。无须JavaScript即可读取按下状态。

样式钩子

data-statedata-disabled