跳到主要內容
+

列表

列表是文字或圖片的連續垂直索引。

列表是文字或圖片的連續群組。它們由包含主要和補充動作的項目組成,這些動作由圖示和文字表示。

簡介

列表透過文字或圖片的連續垂直索引,以簡潔、易於追蹤的格式呈現資訊。

Material UI 列表是使用相關元件的集合來實作的

  • List:列表項目的包裝器。預設渲染為 <ul>
  • List Item:常見的列表項目。預設渲染為 <li>
  • List Item Button:要在列表項目內使用的動作元素。
  • List Item Icon:要在列表項目內使用的圖示。
  • List Item Avatar:要在列表項目內使用的頭像。
  • List Item Text:列表項目內的容器,用於顯示文字內容。
  • List Divider:列表項目之間的分隔線。
  • List Subheader:巢狀列表的標籤。

前一個示範的最後一個項目示範了如何渲染連結

<ListItemButton component="a" href="#simple-list">
  <ListItemText primary="Spam" />
</ListItemButton>

您可以在文件的這個章節中找到使用 React Router 的示範

基本

import List from '@mui/material/List';
import ListItem from '@mui/material/ListItem';

巢狀列表

  • 相片

    2014 年 1 月 9 日

  • 工作

    2014 年 1 月 7 日

  • 假期

    2014 年 7 月 20 日

互動式

以下是一個互動式示範,可讓您探索不同設定的視覺結果

僅文字
  • 單行項目
  • 單行項目
  • 單行項目
圖示與文字
  • 單行項目
  • 單行項目
  • 單行項目
頭像與文字
  • 單行項目
  • 單行項目
  • 單行項目
頭像與文字和圖示
  • 單行項目
  • 單行項目
  • 單行項目

對齊列表項目

當顯示三行或更多行時,頭像不會在頂部對齊。您應該設定 alignItems="flex-start" 屬性,以依照 Material Design 指南將頭像對齊在頂部

  • Remy Sharp
    這週末要吃早午餐嗎?

    Ali Connors — 我會在您家附近跑腿辦事…

  • Travis Howard
    夏日烤肉

    給 Scott、Alex、Jennifer — 真希望我可以去,但這週我不在城裡…

  • Cindy Baker
    Oui Oui

    Sandra Adams — 您有巴黎的推薦行程嗎?您曾經…

列表控制項

核取方塊

核取方塊可以是主要動作或次要動作。

核取方塊是列表項目的主要動作和狀態指示器。註解按鈕是次要動作和獨立目標。

  • 行項目 1
  • 行項目 2
  • 行項目 3
  • 行項目 4

核取方塊是列表項目的次要動作和獨立目標。

  • Avatar n°1
    行項目 1
  • Avatar n°2
    行項目 2
  • Avatar n°3
    行項目 3
  • Avatar n°4
    行項目 4

開關

開關是次要動作和獨立目標。

  • 設定
  • Wi-Fi
  • 藍牙

黏性子標題

捲動時,子標題會保持釘選在螢幕頂端,直到被下一個子標題推離螢幕。此功能依賴 CSS 黏性定位。

    • 我是黏性子標題 0
    • 項目 0
    • 項目 1
    • 項目 2
    • 我是黏性子標題 1
    • 項目 0
    • 項目 1
    • 項目 2
    • 我是黏性子標題 2
    • 項目 0
    • 項目 1
    • 項目 2
    • 我是黏性子標題 3
    • 項目 0
    • 項目 1
    • 項目 2
    • 我是黏性子標題 4
    • 項目 0
    • 項目 1
    • 項目 2

內縮列表項目

inset 屬性啟用沒有前導圖示或頭像的列表項目,使其與有前導圖示或頭像的項目正確對齊。

  • Chelsea Otakan
  • Eric Hoffman

無間距列表

當在定義自己間距的元件中渲染列表時,可以使用 disableGutters 停用 ListItem 間距。

  • 行項目 1
  • 行項目 2
  • 行項目 3
按下 Enter 開始編輯

虛擬化列表

在以下範例中,我們示範如何將 react-windowList 元件搭配使用。它渲染 200 列,並且可以輕鬆處理更多列。虛擬化有助於解決效能問題。

項目 1
項目 2
項目 3
項目 4
項目 5
項目 6
項目 7
項目 8
項目 9
項目 10
項目 11
項目 12
項目 13
項目 14
按下 Enter 開始編輯

建議盡可能使用 react-window。如果這個程式庫不符合您的使用案例,您應該考慮使用其他替代方案,例如 react-virtuoso

自訂

以下是一些自訂元件的範例。您可以在覆寫文件頁面中瞭解更多相關資訊。

API

請參閱以下文件,以取得此處提及之元件的所有屬性和類別的完整參考。