LifeUI
1.53.2
Inicio

Data Table

Una tabla de visualización de datos con entrada de búsqueda, filtros por pestañas, estado de carga y estados vacío.

IDNombreEmailRol
1Juan Pérezjuan@email.comAdmin
2María Garcíamaria@email.comUser
3Carlos Lópezcarlos@email.comUser

Generación de Tablas con B Life Hooks

Crear tablas con useTable

El hook useTable es la base para crear tablas estructuradas. Te proporciona una API para definir columnas y manejar el renderizado de datos.

Uso Básico

Para casos simples donde solo necesitas mostrar datos de texto plano:

Empleados de la Empresa

IDNombreEmailDepartamentoSalario
1Juan Pérezjuan@email.comIngeniería5000
2María Garcíamaria@email.comDiseño4500
3Carlos Lópezcarlos@email.comMarketing4200
4Ana Rodríguezana@email.comVentas4800

Uso Avanzado

Para casos donde necesitas personalizar el renderizado de celdas y cabeceras:

Empleado
Departamento
Salario
Rating
EstadoAcciones

Juan Pérez

juan@email.com

Ingeniería
5000 MXN
4.8
Activo

María García

maria@email.com

Diseño
4500 MXN
4.6
Activo

Carlos López

carlos@email.com

Marketing
4200 MXN
4.2
Inactivo

Ana Rodríguez

ana@email.com

Ventas
4800 MXN
4.9
Activo

Gestión de Selección de Filas con useSelection

El hook useSelection te permite gestionar la selección de filas en la tabla, soportando tanto selección simple como múltiple.

Selección Múltiple

Usuarios del Sistema

0 de 4 seleccionados
NombreEmailRolEstado
Juan Pérezjuan@email.com
Admin
Activo
María Garcíamaria@email.com
Usuario
Inactivo
Carlos Lópezcarlos@email.com
Usuario
Activo
Ana Rodríguezana@email.com
Moderador
Activo

Selección Simple

SeleccionarPlanPrecioCaracterísticas
Plan Básico$9.99/mes
  • 5 usuarios
  • 10GB almacenamiento
Plan Pro$19.99/mes
  • 25 usuarios
  • 100GB almacenamiento
Plan Enterprise$49.99/mes
  • Usuarios ilimitados
  • 1TB almacenamiento

Estado de Carga

IDNombreEmailAcciones

Estado Vacio

Sin resultados

Nada para mostrar por ahora.

IDNombreEmailAcciones

Tabla con entrada de Búsqueda

IDNombreEmailDepartamento
1Juan Pérezjuan@email.comIngeniería
2María Garcíamaria@email.comDiseño
3Carlos Lópezcarlos@email.comMarketing
4Ana Rodríguezana@email.comVentas

Tabla con Pestañas

IDNombreEstado
1Juan Pérez
Activo
2María García
Inactivo
3Carlos López
Activo

Componentes de Paginación

La librería incluye componentes especializados para manejar la paginación de tablas de datos.

RangeLabel

Muestra el rango de elementos actualmente visibles en la tabla.

Mostrando 1-10 de 100

ItemsPerPage

Selector para cambiar la cantidad de elementos mostrados por página.

Ver por pagina

PageControls

Controles de navegación de páginas con botones y campo de entrada.

de 10

Ejemplos

Tabla de productos

ImagenProductoPrecioMarcaRatingStockAcciones
Mostrando 1-0 de 0

Ver por pagina

de 0

Props

Table

PropTipoRequeridoDescripción
bordersrow | grid-El estilos de borders que divider las filas y celdas
countColumnsnumber-El numero de columnas a mostrar en el skeleton
skeletonRowCountnumber-El numero de filas a mostrar en el skeleton
loadingboolean-Habilita el estado de carga
emptyboolean-Habilita el estado cuando no hay datos que mostrar
search{ placeholder?: string; value?: string; defaultValue?: string; onChange?: (value: string) => void; visible?: boolean; disabled?: boolean; onClear?: () => void; }-La opciones de configuracion del campo de busqueda
tabs{ items: { label: string; value: string; icon?: ReactNode }[]; value?: string; defaultValue?: string; onChange?: (value: string) => void; visible?: boolean; }-La opciones de configuracion del campo de busqueda
...restComponentProps<"table">-Todas las props del elemento HTML table

RangeLabel

PropTipoRequeridoDescripción
startIndexnumber-El numero de inicio de la pagina
endIndexnumber-El numero de fin de la pagina
totalItemsnumber-El numero total de items

ItemsPerPage

PropTipoRequeridoDescripción
valuenumber-El numero controlado de elementos por página
defaultValuenumber-Valor por defecto (por defecto: 25)
onChange(value: number) => void-Callback cuando cambia el valor
optionsnumber[]-Array de opciones disponibles (por defecto: [25, 50, 75, 100])

PageControls

PropTipoRequeridoDescripción
valuestring-String controlado de la página actual
defaultValuestring-Valor por defecto (por defecto: '1')
onChange(value: string) => void-Callback cuando cambia la página
minValuenumber-Página mínima (por defecto: 1)
maxValuenumber-Página máxima (por defecto: 100)
totalPagesnumber-Número total de páginas (opcional)
onFirstClick() => void-Callback para ir a la primera página
onLastClick() => void-Callback para ir a la última página
onNextClick() => void-Callback para ir a la siguiente página
onPrevClick() => void-Callback para ir a la página anterior
disabled{ first?: boolean; prev?: boolean; next?: boolean; last?: boolean }-Objeto con flags para deshabilitar botones específicos