List 列表
列表是对文本或图像的连续、垂直的索引。
列表能够承载一组连续的文本或图像。 它们由包含主要和补充操作的项子集组成,而这些操作由图标和文本表示。
上一个样例的最后一个子集展示了如何渲染一个链接:
<ListItemButton component="a" href="#simple-list">
<ListItemText primary="Spam" />
</ListItemButton>
You can find a demo with React Router following this section of the documentation.
嵌套列表
- Photos
Jan 9, 2014
- Work
Jan 7, 2014
- Vacation
July 20, 2014
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Single-line item
- Brunch this weekend?
Ali Connors — I'll be in your neighborhood doing errands this…
- Summer BBQ
to Scott, Alex, Jennifer — Wish I could come, but I'm out of town this…
- Oui Oui
Sandra Adams — Do you have Paris recommendations? Have you ever…
- Line item 1
- Line item 2
- Line item 3
- Line item 4
该复选框执行了列表项的辅助操作,并且是一个单独的目标。
- Line item 1
- Line item 2
- Line item 3
- Line item 4
- Settings
- Wi-Fi
- Bluetooth
- I'm sticky 0
- Item 0
- Item 1
- Item 2
- I'm sticky 1
- Item 0
- Item 1
- Item 2
- I'm sticky 2
- Item 0
- Item 1
- Item 2
- I'm sticky 3
- Item 0
- Item 1
- Item 2
- I'm sticky 4
- Item 0
- Item 1
- Item 2
对齐列表项
The inset
prop enables a list item that does not have a leading icon or avatar to align correctly with items that do.
- Chelsea Otakan
- Eric Hoffman
没有边距的列表
When rendering a list within a component that defines its own gutters, ListItem
gutters can be disabled with disableGutters
.
- Line item 1
- Line item 2
- Line item 3
<List sx={{ width: '100%', maxWidth: 360, bgcolor: 'background.paper' }}>
{[1, 2, 3].map((value) => (
<ListItem
key={value}
disableGutters
secondaryAction={
<IconButton>
<CommentIcon />
</IconButton>
}
>
<ListItemText primary={`Line item ${value}`} />
</ListItem>
))}
</List>
大型列表渲染
在下面的示例中,我们演示了如何将 react-window 与 List
组件一起使用。 它渲染了200多行,并且可以轻松的延展到更多行。 可视化优化了整体的性能。
<FixedSizeList
height={400}
width={360}
itemSize={46}
itemCount={200}
overscanCount={5}
>
{renderRow}
</FixedSizeList>
我们鼓励尽可能使用 react-window。 如果这个库不包括你的用例,你应该考虑使用 react-virtualized,然后使用 react-virtuoso等替代品。
Customized List
你可以参考以下一些例子来自定义组件。 您可以在 重写文档页面 中了解更多有关此内容的信息。
Customization 个性化
🎨 如果您还在寻找灵感,您可以看看 MUI Treasury 特别定制的一些例子。