Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Datos
  4. VirtualList

DatosAlea Pro

VirtualList

Una lista que solo muestra lo que está en pantalla, para miles de filas.

import { VirtualList } from '@alea/pro';

Ejemplos

Diez mil filas

Solo las filas visibles están en la página; el scroll y la búsqueda por tipeo siguen funcionando.

Tokens

Los tokens de diseño que usa este componente, con su valor en el tema actual. Cambia cualquiera para darle otro estilo.

Color

  • --alea-border…
  • --alea-surface…

Radius

  • --alea-radius-md…

Props

VirtualList props

Una lista que solo muestra lo que está en pantalla, para miles de filas.

PropTipoPor defectoDescripción
aria-labelobligatoriastring-Nombre para lectores de pantalla cuando no hay etiqueta visible.
childrenobligatoria(item: T) => ReactNode-Muestra el texto de un elemento.
itemsobligatoriaT[]-Los elementos; cada uno necesita un id.
textValueobligatoria(item: T) => string-Texto para la búsqueda por tipeo y los lectores de pantalla.
heightnumber360Altura visible en px. Por defecto 360.
onAction((key: Key) => void)-Se llama con el id cuando se abre un elemento (Enter o clic).
rowHeightnumber44Altura de fila en px. Por defecto 44.
selectionMode"single" | "multiple" | "none"'none'none (por defecto), single o multiple.

Especificaciones

Generado desde el código: las variantes de los tipos, los estados y tokens del CSS, y los patrones de motion que aplican. Las grillas muestran el componente real en ambos temas; los números se miden en la página.

Variantes
selectionModesinglemultiplenone
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-virtual.alea-virtual-list

Accesibilidad

  • Un listbox que conserva la cantidad total (aria-setsize) aunque las filas no estén en la página.

Teclado

TeclaAcción
Flecha arriba / AbajoSe mueven entre elementos
Inicio / FinPrimer o último elemento
EscribirSalta a un elemento que coincida

Qué hacer y qué evitar

Hacer

  • Úsala desde unos cientos de elementos.
  • Mantén todas las filas a la misma altura (rowHeight).

Evitar

  • No la uses para listas cortas: un ListView normal es más simple.
  • No pongas contenido que se expande en las filas.
Probado con axe, teclado y roles de lector de pantalla