Importación
import { NuiGrid, NuiGridCell, type NuiGridColumn } from '@needless-ui/angular/grid';NuiGrid
Una cuadrícula de datos sobre una tabla nativa.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
rowsBidireccional | readonly T[] | Los datos. Las ediciones reemplazan filas, así que enlázalos con [(rows)]. | |
columnsInput | NuiGridColumn<T>[] | Las columnas, como objetos NuiGridColumn. | |
rowIdInput | (row: T) => unknown | row.id ?? row | La clave de una fila, para selección y seguimiento. |
labelInput | string | Nombre accesible de la cuadrícula. | |
selectionInput | 'none' | 'single' | 'multiple' | 'none' | Si se pueden seleccionar filas, y cuántas. |
selectedBidireccional | unknown[] | [] | Las claves de las filas seleccionadas. |
sortBidireccional | NuiGridSort[] | [] | El orden, como objetos { column, direction }; el primero ordena primero. |
filtersBidireccional | Record<string, NuiGridFilter> | {} | Un filtro por id de columna: un operador y un valor. |
searchBidireccional | string | '' | Palabras que deben aparecer todas en una fila. |
pageSizeBidireccional | number | 0 | Filas por página, o 0 para una sola lista desplazable. |
pageBidireccional | number | 0 | La página mostrada, desde 0. |
pageSizesInput | number[] | [10, 25, 50, 100] | Las opciones del paginador. |
virtualInput | boolean | 'auto' | 'auto' | Renderiza solo las filas visibles: siempre, nunca, o auto con más de 100 filas sin paginación. |
heightInput | string | Una longitud CSS que limita la cuadrícula; se desplaza por dentro. | |
columnStateBidireccional | NuiGridColumnState[] | [] | Ancho, orden, fijación y visibilidad de cada columna, para guardar y restaurar. |
modeInput | 'client' | 'server' | 'client' | server muestra las filas tal como llegan y te deja a ti ordenar, filtrar y paginar. |
totalInput | number | El número de filas en el servidor. | |
loadingInput | boolean | false | Muestra una barra de progreso, y filas provisionales mientras no hay ninguna. |
localeInput | string | LOCALE_ID | Da formato a números y fechas, y lee los números escritos. |
labelsInput | Partial<NuiGridLabels> | Todos los textos que la cuadrícula muestra o anuncia, para traducirlos. | |
cornersInput | NuiCorners | La forma de sus esquinas: round, squircle, bevel, scoop, notch o square. | |
radiusInput | NuiRadius | El tamaño de sus esquinas: none, small, medium, large o full. | |
densityInput | NuiDensity | Cuánto espacio ocupa: compact, regular o roomy. | |
rowActivateOutput | T | Emite una fila abierta con Intro o con doble clic. | |
cellEditOutput | NuiGridEdit<T> | Emite cada edición confirmada. | |
queryChangeOutput | NuiGridQuery | Emite el orden, los filtros, la búsqueda y la página cada vez que cambian. | |
exportCsvMétodo | (options?) => string | Las filas filtradas y ordenadas de las columnas visibles, en CSV. | |
focusCellMétodo | (row: number, col: number) => void | Pone el foco en una celda; la fila -1 es el encabezado. | |
clearFiltersMétodo | () => void | Borra todos los filtros y la búsqueda. |
Los inputs de personalización que no definas siguen el atributo data-nui-* más cercano. Consulta la guía de personalización.
NuiGridColumn
Una columna. Solo id y header son obligatorios.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
idPropiedad | string | Único; la clave en el orden, los filtros y el estado de las columnas. | |
headerPropiedad | string | El texto del encabezado. | |
valuePropiedad | keyof T | ((row: T) => V) | Una clave de la fila, o una función de la fila. Por defecto, row[id]. | |
typePropiedad | 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'text' | Determina la alineación, el orden, el filtro y el editor. |
formatPropiedad | Intl options | ((value, row) => string) | Opciones de Intl para números y fechas, o una función que genera el texto. | |
optionsPropiedad | NuiOption<V>[] | Las opciones de una columna enum, como objetos NuiOption. | |
width, minWidth, maxWidthPropiedad | number | En píxeles. | |
flexPropiedad | number | Reparte el espacio sobrante con las demás columnas flex. | |
alignPropiedad | 'start' | 'center' | 'end' | Por defecto, según el tipo: números y fechas al final. | |
pinned, hiddenPropiedad | 'start' | 'end', boolean | Fijación y visibilidad iniciales de la columna. | |
sortable, filterable, resizable, reorderable, hideablePropiedad | boolean | true | Cada una se puede desactivar con false. |
comparePropiedad | (a: V, b: V) => number | Un orden personalizado. | |
editable, validatePropiedad | boolean | ((row) => boolean), (value, row) => string | null | Si las celdas se pueden editar, y un mensaje cuando un valor no es válido. | |
setPropiedad | (row: T, value: V) => T | Crea la fila editada. Por defecto, una copia con el valor nuevo. |
NuiGridCell
Dibuja las celdas de una columna. El contexto contiene la fila, el valor y el texto.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
nuiGridCellInput | string | El id de la columna. |
NuiGridHeader
Dibuja el encabezado de una columna.
| Nombre | Tipo | Predeterminado | Descripción |
|---|---|---|---|
nuiGridHeaderInput | string | El id de la columna. |
NuiGridEmpty
Lo que se muestra cuando no hay filas. El contexto indica si los filtros las ocultaron.