Bouw een shadcn/ui-formulier met React Hook Form en Zod, sla het op met een server action en toon de resultaten in een shadcn data table met sorteren, zoeken en paginering. Live demo's en code om te kopiëren.
Een shadcn/ui-formulier combineert de Field-componenten met de Controller van React Hook Form en een Zod-schema dat via zodResolver wordt doorgegeven. Een shadcn data table combineert de Table-componenten met TanStack Table voor sorteren, zoeken en pagina's. Hieronder voegt een reserveringsformulier live rijen toe aan een tabel met reserveringen, met de code voor beide.
Pakketten
Verstuur het formulier met een fout om de foutmeldingen te zien, reserveer daarna een tafel en zie hem verschijnen in de lijst eronder. De preview gebruikt de kopieën van de shadcn-onderdelen op onze site en gewone state voor de tabel; de code is de volledige versie met shadcn, React Hook Form, Zod en TanStack.
De huidige formuliergids van shadcn/ui bouwt formulieren met Field, FieldLabel en FieldError en de Controller van React Hook Form. Oudere projecten gebruiken de wrappers Form en FormField; beide steunen op React Hook Form, dus bestaande formulieren blijven werken.
Nee. De shadcn Table-componenten zijn gewoon opgemaakte tabelelementen. Voeg TanStack Table toe als u sorteren, filteren, paginering of selectie nodig hebt.
Laat de server action fouten teruggeven met de veldnaam als sleutel en roep voor elke fout form.setError(field, { message }) aan. FieldError toont ze net als elke andere validatiemelding.
Ja. Roep in Next.js revalidatePath aan in de server action, zodat de pagina die de tabel rendert nieuwe rijen ophaalt. In een app die alleen aan de clientkant draait, voegt u de nieuwe rij toe aan uw data-state of haalt u opnieuw op.
Wie doet wat
De formulierkant heeft React Hook Form, Zod en de resolver nodig; de tabelkant heeft TanStack Table nodig. De shadcn CLI kopieert de UI-onderdelen erin.
Controller koppelt elke invoer. data-invalid op Field stijlt de hele rij, aria-invalid op de invoer informeert schermlezers, en FieldError toont de melding van Zod.
Voer hetzelfde schema opnieuw uit op de server. Geef veldfouten terug en zet ze met setError terug op het formulier.
De Table-componenten van shadcn zijn opgemaakte tabelelementen; TanStack levert sorteren, filteren en pagina's. Het features-object en de kolommen staan buiten het component, zodat ze stabiel blijven.
Eerst meer samengestelde blokken zien? Bekijk
Vul uw naam in
Voer een geldig e-mailadres in
Minstens 1
Bel ons voor groepen groter dan 12
Houd het onder 300 tekens
Gasten
Opmerkingen
Bezig met reserveren...
Tafel reserveren
Tijd
Reserveringen zoeken
Geen resultaten.
Pagina {p} van {n}
Vorige
Volgende
Gratis beginnen · Geen creditcard nodig