Skip to content

Switch 开关

开关选择器,用于立即切换两个互斥状态。

示例

可访问性

Switch 使用 role="switch"aria-checked 表达开关状态。没有可见标签时,请通过 aria-labelaria-labelledby 提供稳定的可访问名称。

checkedChildrenunCheckedChildren 仅作为视觉状态提示渲染,并会标记为 aria-hidden。不要依赖它们作为开关名称,避免读屏器在状态变化后读到不同的控件名称。

传入 onClick 时,组件会先调用原生点击回调,再执行内部切换并触发 onChange。如果点击回调调用 event.preventDefault(),本次切换会被阻止。

API

属性说明类型默认值
checked是否开启boolean-
defaultChecked默认开启booleanfalse
checkedChildren开启状态的视觉内容ReactNode-
unCheckedChildren关闭状态的视觉内容ReactNode-
onChange变化回调(checked: boolean) => void-
onClick原生点击回调,会在内部切换前触发MouseEventHandler<HTMLButtonElement>-
disabled禁用booleanfalse