Conciergia UI

Form

react-hook-form-ის კომპოზიცია: ველის იარლიყი, აღწერა და შეცდომა ავტომატურად უკავშირდება კონტროლს. ქვემოთ დაჯავშნის ფორმა მოწმდება Zod-ით.

მაგალითი

დაჯავშნის დასტურს ამ მისამართზე გამოგიგზავნით.

ინსტალაცია

terminal
pnpm add @llc-conciergia/ui
იმპორტი
import * as Component from "@llc-conciergia/ui/form";

შენიშვნები

დააყენეთ react-hook-form; Zod მაგალითისთვის საჭიროა zod და @hookform/resolvers. შეცდომების ენა განსაზღვრეთ სქემაში — FormMessage შეტყობინებას არ თარგმნის. FormControl-ის შვილი ref-სა და ARIA ატრიბუტებს რეალურ ინტერაქტიულ ელემენტზე უნდა გადასცემდეს. Select-ს onValueChange გადაეცემა root-ზე, FormControl კი SelectTrigger-ს ეხვევა; DatePicker-ს მიეცით value და onValueChange. გარდაქმნის მქონე სქემისთვის გამოიყენეთ useForm<z.input<typeof schema>, unknown, z.output<typeof schema>>.

Props

Propტიპინაგულისხმევიაღწერა
FormFormProvider props—მიიღებს useForm-ის შედეგს. HTML form-ს თავად არ ქმნის.
FormFieldControllerProps<TValues, TName, TOutput>—name, control, render, rules, disabled, defaultValue და shouldUnregister.
FormItemdiv props—ერთ ველს ანიჭებს უნიკალურ ID-ებსა და განლაგებას.
FormLabelLabel props—აკავშირებს htmlFor-ს კონტროლთან და შეცდომას აღნიშნავს data-invalid-ით.
FormControl{ children: ReactElement }—ერთ შვილს გადასცემს id, aria-invalid და aria-describedby-ს; ინარჩუნებს შვილის ref-სა და მოვლენებს.
FormDescriptionp props—არასავალდებულო ინსტრუქცია, რომელიც კონტროლის აღწერას ემატება.
FormMessagep props—აჩვენებს ველის შეცდომას ან children-ს; ცარიელი ტექსტისას არაფერს რენდერს.
useFormField() => field state & IDs—error, invalid, isDirty, isTouched, isValidating, name, formItemId, formLabelId, formDescriptionId, formMessageId, labelMounted, descriptionMounted, messageMounted. გამოიყენება Form/FormField/FormItem-ის შიგნით.