跳到内容跳到内容

SwitchAPI

React Switch 组件的 API 参考文档。了解此导出的模块的 props、CSS 和其他 API。

演示

导入

import Switch from '@mui/joy/Switch';
// or
import { Switch } from '@mui/joy';

通过阅读此关于最小化 bundle size 的指南,了解它们之间的区别。

Props

原生组件的 Props 也可用。

名称类型默认值描述
checkedbool-

如果 true,则组件被选中。

color'danger'
| 'primary'
| 'success'
| 'warning'
| string
'neutral'

组件的颜色。它支持对该组件有意义的那些主题颜色。

要了解如何添加您自己的颜色,请查看主题组件—扩展颜色

componentelementType-

用于根节点的组件。可以是用于 HTML 元素的字符串或组件。

defaultCheckedbool-

默认选中状态。当组件不受控制时使用。

disabledbool-

如果 true,则组件被禁用。

endDecoratornode
| func
-

出现在开关末尾的元素。

onChangefunc-

状态更改时触发的回调。

签名:function(event: React.ChangeEvent) => void
  • event 回调的事件源。您可以通过访问 event.target.value (string) 来提取新值。您可以通过访问 event.target.checked (boolean) 来提取新的选中状态。
readOnlybool-

如果 true,则组件为只读。

requiredbool-

如果 true,则需要 input 元素。

size'sm'
| 'md'
| 'lg'
| string
'md'

组件的大小。

要了解如何向组件添加自定义尺寸,请查看主题组件—扩展尺寸

slotProps{ action?: func
| object, endDecorator?: func
| object, input?: func
| object, root?: func
| object, startDecorator?: func
| object, thumb?: func
| object, track?: func
| object }
{}

用于内部每个插槽的 props。

slots{ action?: elementType, endDecorator?: elementType, input?: elementType, root?: elementType, startDecorator?: elementType, thumb?: elementType, track?: elementType }{}

用于内部每个插槽的组件。

有关更多详细信息,请参阅下面的插槽 API

startDecoratornode
| func
-

出现在开关末尾的元素。

sxArray<func
| object
| bool>
| func
| object
-

允许定义系统覆盖以及其他 CSS 样式的系统 prop。

有关更多详细信息,请参阅 `sx` 页面

variant'outlined'
| 'plain'
| 'soft'
| 'solid'
| string
'solid'

要使用的全局 variant

要了解如何添加您自己的 variants,请查看主题组件—扩展 variants

ref 被转发到根元素。

主题默认 props

您可以使用 JoySwitch 通过主题更改此组件的默认 props。

插槽

要了解如何自定义插槽,请查看覆盖组件结构指南。

插槽名称类名默认组件描述
root.MuiSwitch-root'div'渲染根的组件。
thumb.MuiSwitch-thumb'span'渲染 thumb 的组件。
action.MuiSwitch-action'div'渲染 action 的组件。
input.MuiSwitch-input'input'渲染 input 的组件。
track.MuiSwitch-track'span'渲染 track 的组件。
startDecorator.MuiSwitch-startDecorator'span'渲染 start decorator 的组件。
endDecorator.MuiSwitch-endDecorator'span'渲染 end decorator 的组件。

CSS 类

这些类名对于使用 CSS 进行样式设置很有用。当触发特定状态时,它们会应用于组件的插槽。

类名规则名称描述
.Mui-checked应用于根 checked 类的状态类。
.Mui-disabled应用于根 disabled 类的状态类。
.Mui-focusVisible如果 switch 具有可见焦点,则应用于根元素的状态类
.Mui-readOnly如果 switch 为只读,则应用于根元素的类名
.MuiSwitch-colorContextcolorContext当颜色反转被触发时,应用于根元素的类名。
.MuiSwitch-colorDangercolorDanger如果 color="danger",则应用于根元素的类名。
.MuiSwitch-colorPrimarycolorPrimary如果 color="primary",则应用于根元素的类名。
.MuiSwitch-colorSuccesscolorSuccess如果 color="success",则应用于根元素的类名。
.MuiSwitch-colorWarningcolorWarning如果 color="warning",则应用于根元素的类名。
.MuiSwitch-sizeLgsizeLg如果 size="lg",则应用于根元素的类名。
.MuiSwitch-sizeMdsizeMd如果 size="md",则应用于根元素的类名。
.MuiSwitch-sizeSmsizeSm如果 size="sm",则应用于根元素的类名。
.MuiSwitch-variantOutlinedvariantOutlined如果 variant="outlined",则应用于根元素的类名。
.MuiSwitch-variantSoftvariantSoft如果 variant="soft",则应用于根元素的类名。
.MuiSwitch-variantSolidvariantSolid如果 variant="solid",则应用于根元素的类名。

您可以使用以下自定义选项之一覆盖组件的样式

源代码

如果您在此页面中找不到所需的信息,请考虑查看组件的实现以获取更多详细信息。