shadcn-Formular und Data Table, sauber verbunden

shadcn-Formular und Data Table

shadcn-Formular und Data Table: React Hook Form, Zod, TanStack | We.Inc

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.

Häufige Fragen

Soll ich die Form-Komponente oder die Field-Komponente verwenden?

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.

Brauche ich TanStack Table für eine shadcn-Tabelle?

Nein. Die shadcn-Table-Komponenten sind einfach gestaltete Tabellenelemente. Ergänze TanStack Table, wenn du Sortierung, Filter, Paginierung oder Auswahl brauchst.

Wie zeige ich Serverfehler unter dem richtigen Feld an?

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.

Kann sich die Tabelle nach dem Speichern des Formulars aktualisieren?

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.

Weiterführendes

Häufige Fehler

Wie die Teile zusammenpassen

Wer macht was

Das Formular

Die Teile installieren

Die Formularseite braucht React Hook Form, Zod und den Resolver; die Tabellenseite braucht TanStack Table. Die shadcn-CLI kopiert die UI-Teile hinein.

Buchungsformular: shadcn Field + React Hook Form + Zod

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.

Speichern mit einer Server Action

Führe dasselbe Schema auf dem Server erneut aus. Gib Feldfehler zurück und setze sie mit setError wieder ins Formular.

Die Data Table

Data Table: shadcn Table + TanStack Table

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

shadcn/ui-Beispiele an

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

Name

E-Mail

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

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap