Popper
Popper 組件讓您建立工具提示和彈出式視窗,以顯示頁面上元素的相關資訊。
Popper API
匯入
import { Popper } from '@mui/base/Popper';
// or
import { Popper } from '@mui/base';
透過閱讀這份關於最小化套件大小的指南,了解它們之間的差異。
原生組件的 Props 也可使用。
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
open* | bool | - | 如果為 |
anchorEl | HTML 元素 | object | func | - | 一個 HTML 元素、virtualElement,或是一個回傳上述兩者的函數。它用於設定 popper 的位置。回傳值將作為 Popper 實例的參考物件傳遞。 |
children | node | func | - | Popper 渲染函數或節點。 |
container | HTML 元素 | func | - | 一個 HTML 元素或回傳 HTML 元素的函數。 |
direction | 'ltr' | 'rtl' | 'ltr' | 文字方向。 |
disablePortal | bool | false |
|
keepMounted | bool | false | 始終將 children 保留在 DOM 中。此 prop 在 SEO 情況下或當您想要最大化 Popper 的響應性時非常有用。 |
modifiers | Array<{ 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 是基於「外掛式」架構,其大多數功能都完全封裝在「修飾器」中。 |
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' } | {} | 提供給 |
popperRef | ref | - | 指向所使用 popper 實例的 ref。 |
slotProps | { root?: func | object } | {} | 用於 Popper 內部每個插槽的 props。 |
slots | { root?: elementType } | {} | 用於 Popper 內部每個插槽的組件。可以是字串 (使用 HTML 元素) 或組件。 請參閱下方的插槽 API 以了解更多詳細資訊。 |
transition | bool | false | 協助支援 react-transition-group/Transition 組件。 |
ref
會轉發到根元素。這些類別名稱對於使用 CSS 設定樣式很有用。它們在觸發特定狀態時會套用至組件的插槽。
類別名稱 | 描述 |
---|---|
.base-Popper-root | 套用至根元素的類別名稱。 |