分頁
分頁讓探索和切換不同視圖變得容易。
分頁組織相關且處於相同層級的內容群組,並允許在這些群組之間導航。
基本用法
import Tabs from '@mui/material/Tabs';
import Tab from '@mui/material/Tab';
實驗性 API
@mui/lab
提供實用元件,注入 props 以實作遵循 WAI-ARIA Authoring Practices 的可訪問分頁
<TabList />
- 容納分頁的容器。負責處理分頁之間的焦點和鍵盤導航。<TabPanel />
- 託管與分頁關聯內容的卡片。<TabContext />
- 包裹 Tab List 和 Tab Panel 元件的最上層元件。
包裝標籤
長標籤將自動在分頁上換行。如果標籤對於分頁來說太長,它會溢出,並且文字將不可見。
停用分頁
可以透過設定 disabled
prop 來停用分頁。
項目一
置中
centered
prop 應用於較大的視圖。
強制滾動按鈕
套用 scrollButtons={true}
和 allowScrollButtonsMobile
prop 以在所有視口上顯示左右滾動按鈕
如果您想確保按鈕始終可見,您應該自訂不透明度。
.MuiTabs-scrollButtons.Mui-disabled {
opacity: 0.3;
}
防止滾動按鈕
永遠不會使用 scrollButtons={false}
顯示左右滾動按鈕。所有滾動都必須透過使用者代理程式滾動機制啟動(例如左右滑動、Shift 滾輪等)
項目一
第三方路由庫
一個常見的用例是在僅在用戶端執行導航,而無需 HTTP 往返伺服器。 Tab
元件提供了 component
prop 來處理此用例。這有一個更詳細的指南。
圖示分頁
分頁標籤可以是全部圖示或全部文字。
圖示位置
預設情況下,圖示位於分頁的 top
。其他支援的位置為 start
、end
、bottom
。
無障礙功能
(WAI-ARIA:https://www.w3.org/WAI/ARIA/apg/patterns/tabs/)
為了為輔助技術提供必要資訊,需要執行以下步驟
- 透過
aria-label
或aria-labelledby
標記Tabs
。 Tab
需要透過設定正確的id
、aria-controls
和aria-labelledby
連接到其對應的[role="tabpanel"]
。
可以在此頁面上的示範中找到目前實作的範例。我們也在 @mui/lab
中發布了實驗性 API,不需要額外的工作。
鍵盤導航
元件使用「手動啟用」行為實作鍵盤導航。如果您想切換到「選取自動跟隨焦點」行為,您必須將 selectionFollowsFocus
傳遞到 Tabs
元件。WAI-ARIA Authoring Practices 有一個關於 如何決定何時使選取自動跟隨焦點 的詳細指南。
示範
以下兩個示範僅在鍵盤導航行為上有所不同。聚焦分頁並使用方向鍵導航以注意差異,例如 向左箭頭鍵。
/* Tabs where selection follows focus */
<Tabs selectionFollowsFocus />
/* Tabs where each tab needs to be selected manually */
<Tabs />
無樣式
使用 Base UI Tabs 來完全擁有元件設計的所有權,沒有 Material UI 或 Joy UI 樣式需要覆寫。此元件的無樣式版本是大量自訂且套件大小較小的理想選擇。
API
請參閱以下文件,以取得此處提及元件的所有可用 props 和類別的完整參考。