Table

El componente Table permite mostrar una tabla de datos con funcionalidades avanzadas como paginación, selección de elementos, ordenación, y más.

Ejemplo

Importación

Para importar el componente Table, se puede hacer desde fenextjs

import { Table } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
classNameContentstringno""Clase CSS para el contenedor principal de la tabla.
classNameContentTablestringno""Clase CSS para el contenedor del elemento de la tabla.
classNameTablestringno""Clase CSS para el elemento de la tabla.
classNameTHeadstringno""Clase CSS para el encabezado de la tabla.
classNameTBodystringno""Clase CSS para el cuerpo de la tabla.
classNameThrstringno""Clase CSS para las filas del encabezado de la tabla.
classNameTrstringno""Clase CSS para las filas de la tabla.
classNameThstringno""Clase CSS para las celdas del encabezado de la tabla.
classNameTdstringno""Clase CSS para las celdas del cuerpo de la tabla.
classNameContentPaginationstringno""Clase CSS para el contenedor de la paginación.
classNameLoaderstringno""Clase CSS para el elemento del cargador.
namestringNombre de la tabla.
itemsT[]Arreglo de datos a mostrar en la tabla.
headerTableHeader<T>Configuración del encabezado de la tabla.
paginationPaginationPropsnoPropiedades opcionales de la paginación de la tabla.
showPaginationbooleannotrueIndica si se debe mostrar la paginación en la tabla.
loaderbooleannofalseMuestra un cargador mientras se cargan los datos de la tabla.
typeLoader"spinner" | "line"no"line"Tipo de cargador a mostrar.
useCheckboxbooleannotrueSi se deben incluir casillas de verificación en la tabla.
onChecked(items: T[]) => voidnoFunción a ejecutar al seleccionar elementos de la tabla.
onOrderBy(order: { id: keyof T; order: "ASC" | "DESC" }) => voidnoFunción a ejecutar para ordenar los datos de la tabla.
onShowHidden(showHidden: { id: keyof T; showHidden: "SHOW" | "HIDDEN" }) => voidnoFunción para mostrar u ocultar columnas de la tabla.
notResultReactNodeno<div>There is not results</div>Componente a mostrar cuando no hay resultados en la tabla.
actionsCheckboxOmit<TableActionCheckboxProps<T>, "actionAllCheckbox" | "data">noPropiedades para las acciones de selección múltiple de la tabla.
actionsCheckboxSelectAllReactNodeno"Select All"Componente para seleccionar todas las casillas de verificación.

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Tabla básica con datos
<Table
  name="sampleTable"
  items={[
    { id: 1, name: "Item 1" },
    { id: 2, name: "Item 2" },
  ]}
  header={[
    { id: "id", th: "ID" },
    { id: "name", th: "Name" },
  ]}
/>
  • Tabla con paginación y selección múltiple
<Table
  name="paginatedTable"
  items={[
    { id: 1, name: "Item A" },
    { id: 2, name: "Item B" },
  ]}
  header={[
    { id: "id", th: "ID" },
    { id: "name", th: "Name" },
  ]}
  pagination={{ current: 1, total: 10 }}
  useCheckbox={true}
/>
  • Tabla con ordenación y cargador
<Table
  name="sortableTable"
  items={[
    { id: 1, name: "Alpha" },
    { id: 2, name: "Beta" },
  ]}
  header={[
    { id: "id", th: "ID", parse: (item) => `#${item}` },
    { id: "name", th: "Name" },
  ]}
  loader={true}
  typeLoader="spinner"
/>