Crea un form shadcn/ui con React Hook Form e Zod, salvalo con una server action e mostra i risultati in una data table shadcn con ordinamento, ricerca e paginazione. Demo dal vivo e codice da copiare.
Un form shadcn/ui abbina i componenti Field al Controller di React Hook Form e a uno schema Zod passato tramite zodResolver. Una data table shadcn abbina i componenti Table a TanStack Table per ordinamento, ricerca e pagine. Qui sotto, un form di prenotazione aggiunge righe dal vivo a una tabella delle prenotazioni, con il codice per entrambi.
Pacchetti
Invia il form con un errore per vedere i messaggi, poi prenota un tavolo e guardalo comparire nell'elenco sottostante. L'anteprima usa le copie dei componenti shadcn del nostro sito e uno stato semplice per la tabella; il codice è la versione completa con shadcn, React Hook Form, Zod e TanStack.
L'attuale guida ai form di shadcn/ui costruisce i form con Field, FieldLabel e FieldError insieme al Controller di React Hook Form. I progetti più vecchi usano i wrapper Form e FormField; entrambi si basano su React Hook Form, quindi i form esistenti continuano a funzionare.
No. I componenti Table di shadcn sono semplici elementi table stilizzati. Aggiungi TanStack Table quando ti servono ordinamento, filtri, paginazione o selezione.
Fai restituire alla server action gli errori indicizzati per nome del campo, poi chiama form.setError(field, { message }) per ciascuno. FieldError li mostra come qualsiasi altro messaggio di validazione.
Sì. In Next.js, chiama revalidatePath nella server action così la pagina che renderizza la tabella recupera le righe aggiornate. In un'app solo client, aggiungi la nuova riga allo stato dei dati o rifai la richiesta.
Chi fa cosa
La parte del form richiede React Hook Form, Zod e il resolver; la parte della tabella richiede TanStack Table. La CLI di shadcn copia i componenti UI.
Controller collega ogni input. data-invalid su Field stilizza l'intera riga, aria-invalid sull'input informa gli screen reader e FieldError mostra il messaggio di Zod.
Esegui di nuovo lo stesso schema sul server. Restituisci gli errori dei campi e riportali sul form con setError.
I componenti Table di shadcn sono elementi table stilizzati; TanStack fornisce ordinamento, filtri e pagine. L'oggetto features e le colonne stanno fuori dal componente così restano stabili.
Vuoi prima altri blocchi già composti? Guarda gli
Dicci il tuo nome
Inserisci un'email valida
Almeno 1
Chiamaci per gruppi di oltre 12 persone
Resta sotto i 300 caratteri
Ospiti
Note
Prenotazione in corso...
Prenota un tavolo
Orario
Cerca prenotazioni
Nessun risultato.
Pagina {p} di {n}
Precedente
Successiva
Inizia gratis · Nessuna carta di credito richiesta