模态框
Modal 组件允许您创建对话框、弹出框、灯箱和其他强制用户在继续操作之前采取措施的元素。
Modal API
导入
import { Modal } from '@mui/base/Modal';
// or
import { Modal } from '@mui/base';通过阅读这篇关于最小化捆绑包大小的指南,了解两者之间的区别。
原生组件的 Props 也可用。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| children* | element | - | 单个子内容元素。 |
| open* | bool | - | 如果 |
| closeAfterTransition | bool | false | 当设置为 true 时,Modal 会等待嵌套的 Transition 完成后再关闭。 |
| container | HTML 元素 | func | - | 一个 HTML 元素或返回 HTML 元素的函数。 |
| disableAutoFocus | bool | false | 如果 |
| disableEnforceFocus | bool | false | 如果 |
| disableEscapeKeyDown | bool | false | 如果 |
| disablePortal | bool | false |
|
| disableRestoreFocus | bool | false | 如果 |
| disableScrollLock | bool | false | 禁用滚动锁定行为。 |
| hideBackdrop | bool | false | 如果 |
| keepMounted | bool | false | 始终将子元素保留在 DOM 中。此 prop 在 SEO 情况或您希望最大化 Modal 响应能力时很有用。 |
| onBackdropClick | func | - | 当背景幕布被点击时触发的回调。 |
| onClose | func | - | 当组件请求关闭时触发的回调。 签名: function(event: object, reason: string) => void
|
| onTransitionEnter | func | - | 过渡效果进入时调用的函数。 |
| onTransitionExited | func | - | 过渡效果退出后调用的函数。 |
| slotProps | { backdrop?: func | object, root?: func | object } | {} | 用于 Modal 内部每个 slot 的 props。 |
| slots | { backdrop?: elementType, root?: elementType } | {} | 用于 Modal 内部每个 slot 的组件。可以是用于 HTML 元素的字符串或组件。 请参阅下面的 Slots API 了解更多详情。 |
ref 被转发到根元素。要了解如何自定义 slot,请查看覆盖组件结构指南。
| Slot 名称 | 类名 | 默认组件 | 描述 |
|---|---|---|---|
| root | .base-Modal-root | 'div' | 渲染根元素的组件。 |
| backdrop | .base-Modal-backdrop | 渲染背景幕布的组件。 |
这些类名对于使用 CSS 进行样式设置非常有用。当特定状态被触发时,它们会被应用到组件的 slots 上。
| 类名 | 描述 |
|---|