diff --git a/src/app/table/page.tsx b/src/app/table/page.tsx index 5eec72e..6b70e07 100644 --- a/src/app/table/page.tsx +++ b/src/app/table/page.tsx @@ -1,22 +1,36 @@ "use client"; +import React, { useState } from "react"; import Table, { Header, TablaSkeleton } from "@/components/table"; -import React from "react"; +import VistaComponente from "@/components/vista-componente"; +import { tableBasicExample } from "@/snippets/table/table-basic"; export default function Page() { - const headers: Header<{ name: string; age: number; email: string; acciones?: null }>[] = [ + const headers: Header<{ + name: string; + age: number; + email: string; + acciones?: null; + }>[] = [ { key: "name", label: "Nombre", width: "30%" }, { key: "age", label: "Edad", width: "15%" }, { key: "email", label: "Correo", width: "40%" }, ]; - - const data = [ + + const baseData = [ { name: "Juan", age: 20, email: "juan@example.com" }, { name: "María", age: 25, email: "maria@example.com" }, { name: "Pedro", age: 30, email: "pedro@example.com" }, { name: "Luisa", age: 28, email: "luisa@example.com" }, ]; + const [currentPage, setCurrentPage] = useState(1); + const [search, setSearch] = useState(""); + + const filteredData = baseData.filter((item) => + item.name.toLowerCase().includes(search.toLowerCase()) + ); + return (
- El componente <Table /> permite mostrar datos
- tabulares con soporte para ordenamiento, paginación, renderizado
- personalizado, columnas clicables y estado de carga.
+ El componente <Table /> permite mostrar datos en
+ forma tabular, con funcionalidades como ordenamiento, paginación,
+ renderizado personalizado, clic en filas y un estado de carga esqueleto.
- Usa rowsPerPage para definir cuántas filas mostrar por
- página.
-
- Puedes usar la propiedad render dentro de cada{" "}
- header para personalizar cómo se muestra una columna.
-
- El componente TablaSkeleton muestra una tabla de ejemplo
- mientras se cargan los datos. Puedes personalizar rows y{" "}
- columns.
-
headers: Columnas de la tabla (con key, label, render,
+ width...)
+ data: Datos a mostrar.
+ rowsPerPage?: Número de filas por página (por defecto:
+ 10).
+ onRowClick?: Función al hacer clic en una fila.
+ rowKey?: Función que retorna un ID único para cada
+ fila.
+ className?: Estilos personalizados (tabla, fila, celda,
+ header).
+ controlledPage?: Página actual controlada externamente.
+ onPageChange?: Callback para cambiar la página.
+
+ {code}
+
+
+ {description}
} + +