Modal
Modal 組件讓您建立對話框、彈出視窗、燈箱和其他元素,以強制使用者在繼續之前採取行動。
Modal API
Import
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 | 始終將 children 保留在 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
會轉發到 root 元素。若要了解如何自訂 slot,請查看覆寫組件結構指南。
Slot 名稱 | 類別名稱 | 預設組件 | 描述 |
---|---|---|---|
root | .base-Modal-root | 'div' | 渲染 root 的組件。 |
backdrop | .base-Modal-backdrop | 渲染背景幕的組件。 |
這些類別名稱對於使用 CSS 設定樣式很有用。當觸發特定狀態時,它們會套用到組件的 slot。
類別名稱 | 描述 |
---|