SwitchAPI
React Switch 组件的 API 参考文档。了解此导出的模块的 props、CSS 和其他 API。
演示
导入
import Switch from '@mui/joy/Switch';
// or
import { Switch } from '@mui/joy';
通过阅读此关于最小化 bundle size 的指南,了解它们之间的区别。
原生组件的 Props 也可用。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
checked | bool | - | 如果 |
color | 'danger' | 'primary' | 'success' | 'warning' | string | 'neutral' | 组件的颜色。它支持对该组件有意义的那些主题颜色。 要了解如何添加您自己的颜色,请查看主题组件—扩展颜色。 |
component | elementType | - | 用于根节点的组件。可以是用于 HTML 元素的字符串或组件。 |
defaultChecked | bool | - | 默认选中状态。当组件不受控制时使用。 |
disabled | bool | - | 如果 |
endDecorator | node | func | - | 出现在开关末尾的元素。 |
onChange | func | - | 状态更改时触发的回调。 签名: function(event: React.ChangeEvent
|
readOnly | bool | - | 如果 |
required | bool | - | 如果 |
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。 |
startDecorator | node | func | - | 出现在开关末尾的元素。 |
sx | Array<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 进行样式设置很有用。当触发特定状态时,它们会应用于组件的插槽。
类名 | 规则名称 | 描述 |
---|---|---|
.Mui-checked | 应用于根 checked 类的状态类。 | |
.Mui-disabled | 应用于根 disabled 类的状态类。 | |
.Mui-focusVisible | 如果 switch 具有可见焦点,则应用于根元素的状态类 | |
.Mui-readOnly | 如果 switch 为只读,则应用于根元素的类名 | |
.MuiSwitch-colorContext | colorContext | 当颜色反转被触发时,应用于根元素的类名。 |
.MuiSwitch-colorDanger | colorDanger | 如果 color="danger" ,则应用于根元素的类名。 |
.MuiSwitch-colorPrimary | colorPrimary | 如果 color="primary" ,则应用于根元素的类名。 |
.MuiSwitch-colorSuccess | colorSuccess | 如果 color="success" ,则应用于根元素的类名。 |
.MuiSwitch-colorWarning | colorWarning | 如果 color="warning" ,则应用于根元素的类名。 |
.MuiSwitch-sizeLg | sizeLg | 如果 size="lg" ,则应用于根元素的类名。 |
.MuiSwitch-sizeMd | sizeMd | 如果 size="md" ,则应用于根元素的类名。 |
.MuiSwitch-sizeSm | sizeSm | 如果 size="sm" ,则应用于根元素的类名。 |
.MuiSwitch-variantOutlined | variantOutlined | 如果 variant="outlined" ,则应用于根元素的类名。 |
.MuiSwitch-variantSoft | variantSoft | 如果 variant="soft" ,则应用于根元素的类名。 |
.MuiSwitch-variantSolid | variantSolid | 如果 variant="solid" ,则应用于根元素的类名。 |
您可以使用以下自定义选项之一覆盖组件的样式
- 使用全局类名。
- 在自定义主题中使用作为组件
styleOverrides
属性一部分的规则名称。
源代码
如果您在此页面中找不到所需的信息,请考虑查看组件的实现以获取更多详细信息。