DialogAPI
React Dialog 元件的 API 參考文件。了解此匯出模組的屬性、CSS 和其他 API。
示範
匯入
import Dialog from '@mui/material/Dialog';
// or
import { Dialog } from '@mui/material';
閱讀這份關於最小化套件大小的指南,以了解差異。
對話框是以模態紙張為基礎的覆蓋元件,並帶有背景幕。
Modal 元件的屬性也適用。
名稱 | 類型 | 預設 | 描述 |
---|---|---|---|
open* | 布林值 | - | 如果為 |
aria-describedby | 字串 | - | 描述對話框的元素 ID。 |
aria-labelledby | 字串 | - | 標記對話框的元素 ID。 |
aria-modal | 'false' | 'true' | 布林值 | true | 告知輔助技術此元素為模態。它會新增至具有 role="dialog" 的元素。 |
BackdropComponent | elementType | styled(Backdrop, { name: 'MuiModal', slot: 'Backdrop', overridesResolver: (props, styles) => { return styles.backdrop; }, })({ zIndex: -1, }) | 背景幕元件。此屬性啟用自訂背景幕渲染。 |
children | node | - | 對話框子元件,通常是包含的子元件。 |
classes | object | - | 覆寫或擴充套用至元件的樣式。 請參閱下方的CSS 類別 API 以取得更多詳細資訊。 |
disableEscapeKeyDown | 布林值 | false | 如果為 |
fullScreen | 布林值 | false | 如果為 |
fullWidth | 布林值 | false | 如果為 |
maxWidth | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false | 字串 | 'sm' | 決定對話框的最大寬度。對話框寬度會隨著螢幕尺寸而成長。設定為 |
onClose | func | - | 當元件要求關閉時觸發的回呼。 簽章: function(event: object, reason: string) => void
|
PaperComponent | elementType | Paper | 用於渲染對話框主體的元件。 |
PaperProps | object | {} | 套用至 |
scroll | 'body' | 'paper' | 'paper' | 決定對話框捲動的容器。 |
slotProps | { backdrop?: func | object, container?: func | object, paper?: func | object, root?: func | object, transition?: func | object } | {} | 用於每個插槽內部的屬性。 |
slots | { backdrop?: elementType, container?: elementType, paper?: elementType, root?: elementType, transition?: elementType } | {} | 用於每個插槽內部的元件。 |
sx | Array<func | object | bool> | func | object | - | 允許定義系統覆寫以及其他 CSS 樣式的系統屬性。 請參閱 `sx` 頁面 以取得更多詳細資訊。 |
TransitionComponent | elementType | Fade | 用於轉場效果的元件。請遵循此指南以深入了解此元件的需求。 |
transitionDuration | number | { appear?: number, enter?: number, exit?: number } | { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, } | 轉場效果的持續時間,以毫秒為單位。您可以為所有轉場效果指定單一逾時,或使用物件個別指定。 |
TransitionProps | object | - | 套用至轉場效果元素的屬性。預設情況下,此元素是以 |
ref
會轉發到根元素。繼承
雖然上面未明確記錄,但 Modal 元件的屬性也適用於 Dialog。您可以利用這一點來鎖定巢狀元件。
主題預設屬性
您可以使用 MuiDialog
透過主題變更此元件的預設屬性。
插槽名稱 | 類別名稱 | 預設元件 | 描述 |
---|---|---|---|
transition | Collapse | 渲染轉場效果的元件。請遵循此指南以深入了解此元件的需求。 | |
paper | .MuiDialog-paper | Paper | 渲染紙張的元件。 |
container | .MuiDialog-container | 渲染容器的元件。 | |
backdrop | 渲染背景幕的元件。 | ||
root | .MuiDialog-root | 渲染根元素的元件。 |
這些類別名稱對於使用 CSS 設定樣式很有用。它們在觸發特定狀態時應用於元件的插槽。
類別名稱 | 規則名稱 | 描述 |
---|---|---|
.MuiDialog-paperFullScreen | paperFullScreen | 如果 fullScreen={true} ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperFullWidth | paperFullWidth | 如果 fullWidth={true} ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperScrollBody | paperScrollBody | 如果 scroll="body" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperScrollPaper | paperScrollPaper | 如果 scroll="paper" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthFalse | paperWidthFalse | 如果 maxWidth=false ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthLg | paperWidthLg | 如果 maxWidth="lg" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthMd | paperWidthMd | 如果 maxWidth="md" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthSm | paperWidthSm | 如果 maxWidth="sm" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthXl | paperWidthXl | 如果 maxWidth="xl" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-paperWidthXs | paperWidthXs | 如果 maxWidth="xs" ,則套用至 Paper 元件的樣式。 |
.MuiDialog-scrollBody | scrollBody | 如果 scroll="body" ,則套用至容器元素的樣式。 |
.MuiDialog-scrollPaper | scrollPaper | 如果 scroll="paper" ,則套用至容器元素的樣式。 |
您可以使用以下其中一種客製化選項來覆寫元件的樣式
- 使用全域類別名稱。
- 在自訂主題中使用規則名稱作為元件的
styleOverrides
屬性的一部分。
原始碼
如果您在此頁面中找不到資訊,請考慮查看元件的實作以取得更多詳細資訊。