跳转到内容跳转到内容

开关API

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

演示

导入

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

阅读本指南,了解有关最小化 bundle 大小的差异。

Props

IconButton 组件的 Props 也可用。

名称类型默认描述
checkedbool-

如果为 true,则组件被选中。

checkedIconnode-

组件被选中时显示的图标。

classesobject-

覆盖或扩展应用于组件的样式。

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

color'default'
| 'primary'
| 'secondary'
| 'error'
| 'info'
| 'success'
| 'warning'
| string
'primary'

组件的颜色。它支持默认主题颜色和自定义主题颜色,自定义主题颜色可以按照调色板自定义指南中所示的方式添加。

defaultCheckedbool-

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

disabledbool-

如果为 true,则组件被禁用。

disableRippleboolfalse

如果为 true,则禁用涟漪效果。

edge'end'
| 'start'
| false
false

如果给定,则使用负边距来抵消一侧的内边距(这通常有助于将图标的左侧或右侧与上方或下方的内容对齐,而不会破坏边框大小和形状)。

iconnode-

组件未选中时显示的图标。

idstring-

`input` 元素的 id。

inputPropsobject-

应用于 `input` 元素的属性

inputRefref-

将 ref 传递给 input 元素。

onChangefunc-

状态更改时触发的回调。

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

如果为 true,则 input 元素是必需的。

size'medium'
| 'small'
| string
'medium'

组件的大小。small 相当于密集的开关样式。

slotProps{ input?: func
| object, root?: func
| object, switchBase?: func
| object, thumb?: func
| object, track?: func
| object }
{}

用于每个内部插槽的 props。

slots{ input?: elementType, root?: elementType, switchBase?: elementType, thumb?: elementType, track?: elementType }{}

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

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

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

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

valueany-

组件的值。DOM API 将其转换为字符串。浏览器使用 "on" 作为默认值。

ref 被转发到根元素。

继承

虽然上面没有明确记录,但 IconButton 组件的 props 在 Switch 中也可用。您可以利用它来定位嵌套组件

插槽

插槽名称类名默认组件描述
root.MuiSwitch-root'span'渲染根插槽的组件。
track.MuiSwitch-track'span'渲染 track 插槽的组件。
thumb.MuiSwitch-thumb'span'渲染 thumb 插槽的组件。
switchBase.MuiSwitch-switchBaseSwitchBase渲染 switchBase 插槽的组件。
input.MuiSwitch-inputSwitchBaseInput渲染 switchBase 的 input 插槽的组件。

CSS 类

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

类名规则名称描述
.Mui-checked应用于内部 SwitchBase 组件的 checked 类的状态类。
.Mui-disabled应用于内部 SwitchBase 组件的 disabled 类的状态类。
.MuiSwitch-colorPrimarycolorPrimary如果 color="primary",则应用于内部 SwitchBase 组件的根元素的样式。
.MuiSwitch-colorSecondarycolorSecondary如果 color="secondary",则应用于内部 SwitchBase 组件的根元素的样式。
.MuiSwitch-edgeEndedgeEnd如果 edge="end",则应用于根元素的样式。
.MuiSwitch-edgeStartedgeStart如果 edge="start",则应用于根元素的样式。
.MuiSwitch-sizeMediumsizeMedium如果 size="medium",则应用于根元素的样式。
.MuiSwitch-sizeSmallsizeSmall如果 size="small",则应用于根元素的样式。

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

源代码

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