模态框
模态框组件允许您创建对话框、弹出框、灯箱和其他强制用户在继续之前采取操作的元素。
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。 |