模組API
React Modal 組件的 API 參考文件。了解此匯出模組的 props、CSS 和其他 API。
範例
導入
import Modal from '@mui/material/Modal';
// or
import { Modal } from '@mui/material';
閱讀這份關於最小化 bundle 大小的指南,以了解差異。
Modal 是一個較底層的結構,以下組件會利用它
如果您要建立模組對話框,您可能需要使用 Dialog 組件,而不是直接使用 Modal。
此組件與 react-overlays 有許多概念上的共通之處。
原生組件的 Props 也可用。
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
children* | 元素 | - | 單一子內容元素。 |
open* | 布林值 | - | 如果為 |
BackdropComponent | 元素類型 | styled(Backdrop, { name: 'MuiModal', slot: 'Backdrop', overridesResolver: (props, styles) => { return styles.backdrop; }, })({ zIndex: -1, }) | 背景幕組件。此 prop 啟用自訂背景幕渲染。 |
BackdropProps | 物件 | - | 應用於 |
classes | 物件 | - | 覆寫或擴展應用於組件的樣式。 請參閱下方的「CSS 類別 API」以了解更多詳細資訊。 |
closeAfterTransition | 布林值 | false | 當設定為 true 時,Modal 會等到巢狀 Transition 完成後才關閉。 |
component | 元素類型 | - | 用於根節點的組件。可以是字串 (用於 HTML 元素) 或組件。 |
components | { Backdrop?: elementType, Root?: elementType } | {} | 用於每個 slot 內部的組件。 |
componentsProps | { backdrop?: func | object, root?: func | object } | {} | slot 組件的額外 props。您可以覆寫現有的 props 或新增 props。 |
container | HTML 元素 | func | - | 一個 HTML 元素或傳回 HTML 元素的函式。container 將會附加 portal 子元素。 |
disableAutoFocus | 布林值 | false | 如果為 |
disableEnforceFocus | 布林值 | false | 如果為 |
disableEscapeKeyDown | 布林值 | false | 如果為 |
disablePortal | 布林值 | false | 子元素將位於父組件的 DOM 階層之下。 |
disableRestoreFocus | 布林值 | false | 如果為 |
disableScrollLock | 布林值 | false | 停用捲軸鎖定行為。 |
hideBackdrop | 布林值 | false | 如果為 |
keepMounted | 布林值 | false | 始終將子元素保留在 DOM 中。此 prop 在 SEO 情況下或當您想要最大化 Modal 的響應性時非常有用。 |
onClose | func | - | 當組件請求關閉時觸發的回呼函式。reason 參數可選擇性地用於控制對 onClose 的響應。 簽名: function(event: object, reason: string) => void
|
onTransitionEnter | func | - | 當 transition 進入時呼叫的函式。 |
onTransitionExited | func | - | 當 transition 結束時呼叫的函式。 |
slotProps | { backdrop?: func | object, root?: func | object } | {} | 用於 Modal 內部每個 slot 的 props。 |
slots | { backdrop?: elementType, root?: elementType } | {} | 用於 Modal 內部每個 slot 的組件。可以是字串 (用於 HTML 元素) 或組件。 |
sx | Array<func | object | bool> | func | object | - | 允許定義系統覆寫以及額外 CSS 樣式的系統 prop。 請參閱 `sx` 頁面以了解更多詳細資訊。 |
Slot 名稱 | 類別名稱 | 預設組件 | 描述 |
---|---|---|---|
root | .MuiModal-root | 'div' | 渲染根元素的組件。 |
backdrop | .MuiModal-backdrop | 渲染背景幕的組件。 |
這些類別名稱對於使用 CSS 設定樣式很有用。當觸發特定狀態時,它們會應用於組件的 slot。
類別名稱 | 規則名稱 | 描述 |
---|
您可以使用以下其中一種自訂選項來覆寫組件的樣式
- 使用全域類別名稱。
- 在自訂主題中使用規則名稱作為組件的
styleOverrides
屬性的一部分。
原始碼
如果您在此頁面中找不到資訊,請考慮查看組件的實作以了解更多詳細資訊。