跳到主要內容跳到主要內容

PopperAPI

React Popper 組件的 API 參考文檔。了解此匯出模組的 props、CSS 和其他 API。

示範

導入

import Popper from '@mui/material/Popper';
// or
import { Popper } from '@mui/material';

閱讀關於最小化 bundle 大小的指南,以了解差異。

Props

原生組件的 props 也可使用。

名稱類型預設值描述
open*bool-

如果 true,則顯示組件。

anchorElHTML 元素
| object
| func
-

一個 HTML 元素、virtualElement,或是一個返回其中之一的函式。它用於設定 popper 的位置。回傳值將作為 Popper 實例的參考物件傳遞。

childrennode
| func
-

Popper 渲染函式或節點。

componentelementType-

用於根節點的組件。可以是使用 HTML 元素的字串或是組件。

components{ Root?: elementType }{}

用於 Popper 內部每個插槽的組件。可以是使用 HTML 元素的字串或是組件。

componentsProps{ root?: func
| object }
{}

用於 Popper 內部每個插槽的 props。

containerHTML 元素
| func
-

一個 HTML 元素或返回 HTML 元素的函式。container 將會附加 portal children。
您也可以提供一個回呼函式,它會在 React layout effect 中被呼叫。這讓您可以從 ref 設定 container,並且使伺服器端渲染成為可能。
預設情況下,它使用頂層文檔物件的 body,因此大多數時候它只是 document.body

disablePortalboolfalse

children 將會位於父組件的 DOM 階層之下。

keepMountedboolfalse

始終將 children 保留在 DOM 中。此 prop 在 SEO 情況下或當您想要最大化 Popper 的響應性時非常有用。

modifiersArray<{ data?: object, effect?: func, enabled?: bool, fn?: func, name?: any, options?: object, phase?: 'afterMain'
| 'afterRead'
| 'afterWrite'
| 'beforeMain'
| 'beforeRead'
| 'beforeWrite'
| 'main'
| 'read'
| 'write', requires?: Array<string>, requiresIfExists?: Array<string> }>
-

Popper.js 基於「插件式」架構,其大多數功能都完全封裝在「modifiers」中。
modifier 是一個函式,每次 Popper.js 需要計算 popper 的位置時都會呼叫它。因此,modifiers 應該具有非常高的效能,以避免瓶頸。要了解如何建立 modifier,請閱讀 modifiers 文檔

placement'auto-end'
| 'auto-start'
| 'auto'
| 'bottom-end'
| 'bottom-start'
| 'bottom'
| 'left-end'
| 'left-start'
| 'left'
| 'right-end'
| 'right-start'
| 'right'
| 'top-end'
| 'top-start'
| 'top'
'bottom'

Popper 位置。

popperOptions{ modifiers?: array, onFirstUpdate?: func, placement?: 'auto-end'
| 'auto-start'
| 'auto'
| 'bottom-end'
| 'bottom-start'
| 'bottom'
| 'left-end'
| 'left-start'
| 'left'
| 'right-end'
| 'right-start'
| 'right'
| 'top-end'
| 'top-start'
| 'top', strategy?: 'absolute'
| 'fixed' }
{}

提供給 Popper.js 實例的選項。

popperRefref-

指向所使用 popper 實例的 ref。

slotProps{ root?: func
| object }
{}

用於 Popper 內部每個插槽的 props。

slots{ root?: elementType }{}

用於 Popper 內部每個插槽的組件。可以是使用 HTML 元素的字串或是組件。

sxArray<func
| object
| bool>
| func
| object
-

系統 prop,允許定義系統覆寫以及額外的 CSS 樣式。

請參閱 `sx` 頁面以了解更多詳細資訊。

transitionboolfalse

協助支援 react-transition-group/Transition 組件。

ref 轉發到根元素。

CSS 類別

這些類別名稱對於使用 CSS 設定樣式很有用。當觸發特定狀態時,它們會應用於組件的插槽。

類別名稱規則名稱描述
.MuiPopper-rootroot應用於根元素的類別名稱。

您可以使用以下自訂選項之一覆寫組件的樣式

原始碼

如果您在此頁面中找不到資訊,請考慮查看組件的實作以取得更多詳細資訊。