DialogAPI
React Dialog 组件的 API 参考文档。了解此导出模块的 props、CSS 和其他 API。
演示
导入
import Dialog from '@mui/material/Dialog';
// or
import { Dialog } from '@mui/material';
通过阅读本指南,了解关于最小化 bundle size 的差异。
对话框是带有背景幕的覆盖式模态纸质组件。
Modal 组件的 Props 也可用。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
open* | bool | - | 如果 |
aria-describedby | string | - | 描述对话框的元素 id。 |
aria-labelledby | string | - | 标记对话框的元素 id。 |
aria-modal | 'false' | 'true' | bool | true | 告知辅助技术该元素是模态的。它被添加到具有 role="dialog" 的元素上。 |
BackdropComponent | elementType | styled(Backdrop, { name: 'MuiModal', slot: 'Backdrop', overridesResolver: (props, styles) => { return styles.backdrop; }, })({ zIndex: -1, }) | 背景幕组件。此 prop 启用自定义背景幕渲染。 |
children | node | - | Dialog children,通常是包含的子组件。 |
classes | object | - | 覆盖或扩展应用于组件的样式。 有关更多详细信息,请参见下方的 CSS 类 API。 |
disableEscapeKeyDown | bool | false | 如果 |
fullScreen | bool | false | 如果 |
fullWidth | bool | false | 如果 |
maxWidth | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false | string | 'sm' | 确定对话框的最大宽度。对话框宽度随屏幕尺寸增长。设置为 |
onClose | func | - | 当组件请求关闭时触发的回调。 签名: function(event: object, reason: string) => void
|
PaperComponent | elementType | Paper | 用于渲染对话框主体的组件。 |
PaperProps | object | {} | 应用于 |
scroll | 'body' | 'paper' | 'paper' | 确定对话框滚动的容器。 |
slotProps | { backdrop?: func | object, container?: func | object, paper?: func | object, root?: func | object, transition?: func | object } | {} | 用于内部每个 slot 的 props。 |
slots | { backdrop?: elementType, container?: elementType, paper?: elementType, root?: elementType, transition?: elementType } | {} | 用于内部每个 slot 的组件。 |
sx | Array<func | object | bool> | func | object | - | 允许定义系统 overrides 以及其他 CSS 样式的系统 prop。 有关更多详细信息,请参见 `sx` 页面。 |
TransitionComponent | elementType | Fade | 用于过渡效果的组件。 请遵循本指南,以了解有关此组件要求的更多信息。 |
transitionDuration | number | { appear?: number, enter?: number, exit?: number } | { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, } | 过渡效果的持续时间,以毫秒为单位。您可以为所有过渡效果指定单个超时,也可以使用对象单独指定。 |
TransitionProps | object | - | 应用于过渡元素的 Props。默认情况下,该元素基于此 |
ref
被转发到根元素。继承
虽然上面没有明确记录,但 Modal 组件的 props 也可在 Dialog 中使用。您可以利用这一点来 定位嵌套组件。
主题默认 props
您可以使用 MuiDialog
通过主题更改此组件的默认 props。
Slot 名称 | Class 名称 | 默认组件 | 描述 |
---|---|---|---|
transition | Collapse | 渲染过渡效果的组件。 请遵循本指南,以了解有关此组件要求的更多信息。 | |
paper | .MuiDialog-paper | Paper | 渲染纸张的组件。 |
container | .MuiDialog-container | 渲染容器的组件。 | |
backdrop | 渲染背景幕的组件。 | ||
root | .MuiDialog-root | 渲染根元素的组件。 |
这些类名对于使用 CSS 设置样式很有用。当触发特定状态时,它们将应用于组件的 slot。
Class 名称 | 规则名称 | 描述 |
---|---|---|
.MuiDialog-paperFullScreen | paperFullScreen | 如果 fullScreen={true} ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperFullWidth | paperFullWidth | 如果 fullWidth={true} ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperScrollBody | paperScrollBody | 如果 scroll="body" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperScrollPaper | paperScrollPaper | 如果 scroll="paper" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthFalse | paperWidthFalse | 如果 maxWidth=false ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthLg | paperWidthLg | 如果 maxWidth="lg" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthMd | paperWidthMd | 如果 maxWidth="md" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthSm | paperWidthSm | 如果 maxWidth="sm" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthXl | paperWidthXl | 如果 maxWidth="xl" ,则应用于 Paper 组件的样式。 |
.MuiDialog-paperWidthXs | paperWidthXs | 如果 maxWidth="xs" ,则应用于 Paper 组件的样式。 |
.MuiDialog-scrollBody | scrollBody | 如果 scroll="body" ,则应用于容器元素的样式。 |
.MuiDialog-scrollPaper | scrollPaper | 如果 scroll="paper" ,则应用于容器元素的样式。 |
您可以使用以下自定义选项之一来覆盖组件的样式
- 使用全局类名。
- 使用规则名称作为自定义主题中组件的
styleOverrides
属性的一部分。
源代码
如果您在本页中没有找到所需的信息,请考虑查看组件的实现以获取更多详细信息。