跳到內容
+

Focus Trap

Focus Trap 元件防止使用者的焦點逸出其子元件。

FocusTrap API

Import

import { FocusTrap } from '@mui/base/FocusTrap';
// or
import { FocusTrap } from '@mui/base';

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

Props

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

true,則焦點會被鎖定。

childrenelement-

單一子內容元素。

disableAutoFocusboolfalse

true,焦點陷阱在開啟時將不會自動將焦點轉移到自身,並在關閉時將焦點恢復到最後一個聚焦的元素。這也適用於任何具有 disableAutoFocus 屬性的焦點陷阱子元件。
一般來說,永遠不應將此設定為 true,因為這會使焦點陷阱對輔助技術(如螢幕閱讀器)的可訪問性降低。

disableEnforceFocusboolfalse

true,焦點陷阱將不會阻止焦點在開啟時離開焦點陷阱。
一般來說,永遠不應將此設定為 true,因為這會使焦點陷阱對輔助技術(如螢幕閱讀器)的可訪問性降低。

disableRestoreFocusboolfalse

true,焦點陷阱在隱藏或卸載後,將不會將焦點恢復到先前聚焦的元素。

getTabbablefunc-

傳回根元素內已排序的可 Tab 節點陣列(即 Tab 順序)。例如,您可以提供 "tabbable" npm 依賴項。

簽名:function(root: HTMLElement) => void
    isEnabledfuncfunction defaultIsEnabled(): boolean { return true; }

    此屬性擴展了 open 屬性。它允許在更改 open 屬性時,無需等待重新渲染即可切換開啟狀態。此屬性應被記憶化。它可用於支援同時掛載多個焦點陷阱。


    元件無法持有 ref。