Listas
Las listas son índices contínuos y verticales de texto o imágenes.
Las listas son un grupo contínuo de texto o imágenes. Se componen de elementos que contienen acciones primarias y complementarias, que se representan mediante iconos y texto.
El último elemento del demo anterior muestra cómo se puede representar un enlace:
<ListItemButton component="a" href="#simple-list">
<ListItemText primary="Spam" />
</ListItemButton>
You can find a demo with React Router following this section of the documentation.
Lista Anidada
- Photos
Jan 9, 2014
- Work
Jan 7, 2014
- Vacation
July 20, 2014
Explora
Debajo de esta línea hay una demostración interactiva que permite explorar el resultado visual de las distintas configuraciones:
- 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
Alineación de los elementos de la lista
Debería cambiar la alineación del list item cuando se muestran 3 o más líneas, ajustando la propiedad alignItems="flex-start"
.
- 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…
Controles de Lista
Checkbox
Un checkbox puede ser una acción primaria o una acción secundaria.
The checkbox is the primary action and the state indicator for the list item. The comment button is a secondary action and a separate target.
- Line item 1
- Line item 2
- Line item 3
- Line item 4
El checkbox es la acción secundaria para el elemento de la lista y un objetivo separado.
- Line item 1
- Line item 2
- Line item 3
- Line item 4
- Settings
- Wi-Fi
- Bluetooth
Sticky subheader
Al desplazarse, los subencabezados permanecen anclados en la parte superior de la pantalla hasta que el siguiente subencabezado los saque de la pantalla. Esta característica se basa en el posicionamiento sticky de CSS. (⚠️ no IE 11 support)
- 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
Inset List Item
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
Gutterless list
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>
Virtualización de listas
En el siguiente ejemplo se demuestra como usar react-window con el componente List
. Renderiza 200 filas y puede manejar más con facilidad. La virtualización ayuda con problemas de rendimiento.
<FixedSizeList
height={400}
width={360}
itemSize={46}
itemCount={200}
overscanCount={5}
>
{renderRow}
</FixedSizeList>
If this library doesn't cover your use case, you should consider using react-virtualized, then alternatives like react-virtuoso. The use of react-window when possible is encouraged.
Customized List
Here are some examples of customizing the component. Puedes aprender más sobre esto en la sección Personalizando Componentes de la documentación.
Personalización
🎨 Si estás buscando inspiración, puedes mirar los ejemplos de MUI Treasury.