模态框
模态框组件允许您创建对话框、弹出框、灯箱和其他强制用户在继续之前采取操作的元素。
useModal API
导入
import { unstable_useModal as useModal } from '@mui/base/unstable_useModal';
// or
import { unstable_useModal as useModal } from '@mui/base';通过阅读关于最小化包大小的指南来了解差异。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| children* | React.ReactElement<any> | undefined | null | - | 单个子内容元素。 |
| open* | boolean | - | 如果为 |
| rootRef* | React.Ref<Element> | - | |
| closeAfterTransition | boolean | false | 当设置为 true 时,模态框会等到嵌套的 Transition 完成后再关闭。 |
| container | PortalProps['container'] | - | 一个 HTML 元素或返回 HTML 元素的函数。 |
| disableEscapeKeyDown | boolean | false | 如果为 |
| disableScrollLock | boolean | false | 禁用滚动锁定行为。 |
| onClose | { bivarianceHack(event: {}, reason: 'backdropClick' | 'escapeKeyDown'): void }['bivarianceHack'] | - | 当组件请求关闭时触发的回调函数。 |
| onKeyDown | React.KeyboardEventHandler | - | |
| onTransitionEnter | () => void | - | 当过渡效果进入时调用的函数。 |
| onTransitionExited | () => void | - | 当过渡效果已退出时调用的函数。 |
| 名称 | 类型 | 描述 |
|---|---|---|
| exited | boolean | 如果为 |
| getBackdropProps | <TOther extends EventHandlers = {}>(externalProps?: TOther) => UseModalBackdropSlotProps<TOther> | 背景幕槽 props 的解析器。 |
| getRootProps | <TOther extends EventHandlers = {}>(externalProps?: TOther) => UseModalRootSlotProps<TOther> | 根槽 props 的解析器。 |
| getTransitionProps | <TOther extends EventHandlers = {}>(externalProps?: TOther) => { onEnter: () => void; onExited: () => void } | 与过渡效果相关的 props 的解析器。 |
| hasTransition | boolean | 如果为 |
| isTopModal | () => boolean | 如果为 |
| portalRef | React.RefCallback<Element> | null | 组件 portal DOM 元素的 ref。 |
| rootRef | React.RefCallback<Element> | null | 组件根 DOM 元素的 ref。 |