Baue ein shadcn/ui-Formular mit React Hook Form und Zod, speichere es mit einer Server Action und zeige die Ergebnisse in einer shadcn Data Table mit Sortierung, Suche und Paginierung. Live-Demos und Code zum Kopieren.
Ein shadcn/ui-Formular kombiniert die Field-Komponenten mit dem Controller von React Hook Form und einem Zod-Schema, das über zodResolver übergeben wird. Eine shadcn Data Table kombiniert die Table-Komponenten mit TanStack Table für Sortierung, Suche und Seiten. Unten fügt ein Buchungsformular live Zeilen zu einer Buchungstabelle hinzu, mit dem Code für beides.
Pakete
Sende das Formular mit einem Fehler ab, um die Fehlermeldungen zu sehen, und buche dann einen Tisch und sieh zu, wie er in der Liste darunter erscheint. Die Vorschau nutzt die Kopien der shadcn-Teile auf unserer Website und einfachen State für die Tabelle; der Code ist die vollständige Version mit shadcn, React Hook Form, Zod und TanStack.
Der aktuelle Formular-Guide von shadcn/ui baut Formulare aus Field, FieldLabel und FieldError mit dem Controller von React Hook Form. Ältere Projekte nutzen die Wrapper Form und FormField; beide setzen auf React Hook Form, bestehende Formulare funktionieren also weiter.
Nein. Die shadcn-Table-Komponenten sind einfach gestaltete Tabellenelemente. Ergänze TanStack Table, wenn du Sortierung, Filter, Paginierung oder Auswahl brauchst.
Lass die Server Action Fehler nach Feldnamen zurückgeben und rufe dann für jeden form.setError(field, { message }) auf. FieldError zeigt sie wie jede andere Validierungsmeldung an.
Ja. Rufe in Next.js revalidatePath in der Server Action auf, damit die Seite, die die Tabelle rendert, frische Zeilen lädt. In einer reinen Client-App fügst du die neue Zeile deinem Daten-State hinzu oder lädst neu.
Wer macht was
Die Formularseite braucht React Hook Form, Zod und den Resolver; die Tabellenseite braucht TanStack Table. Die shadcn-CLI kopiert die UI-Teile hinein.
Controller verbindet jedes Eingabefeld. data-invalid auf Field gestaltet die ganze Zeile, aria-invalid auf dem input informiert Screenreader, und FieldError gibt die Zod-Meldung aus.
Führe dasselbe Schema auf dem Server erneut aus. Gib Feldfehler zurück und setze sie mit setError wieder ins Formular.
Die Table-Komponenten von shadcn sind gestaltete Tabellenelemente; TanStack liefert Sortierung, Filter und Seiten. Das features-Objekt und die Spalten liegen außerhalb der Komponente, damit sie stabil bleiben.
Willst du zuerst mehr fertige Blöcke sehen? Sieh dir die
Sag uns deinen Namen
Gib eine gültige E-Mail-Adresse ein
Mindestens 1
Ruf uns bei Gruppen über 12 an
Bitte unter 300 Zeichen bleiben
Gäste
Notizen
Wird gebucht...
Tisch buchen
Uhrzeit
Buchungen durchsuchen
Keine Ergebnisse.
Seite {p} von {n}
Zurück
Weiter
Kostenlos starten · Keine Kreditkarte nötig