Đi tới nội dung tài liệu
Underverse UI Logo
ComponentTiện ích

Form (with i18n)

Form (with i18n) thuộc nhóm Tiện ích. Xem demo trực tiếp, cách tích hợp và các lưu ý triển khai.

Bắt đầu nhanh

Import Form (with i18n) từ entry của gói Free. Các ví dụ bên dưới thể hiện những kiểu tương tác và cấu hình được hỗ trợ.

component.tsxtsx
import { Form } from '@underverse-ui/underverse';

Ví dụ tương tác

Dùng thử Form (with i18n) thật, xem mã ví dụ và tra cứu các prop đã được mô tả.

Đang tải ví dụ tương tác…
Tham chiếu

Tham chiếu API

Tra cứu các thuộc tính, kiểu dữ liệu được chấp nhận, giá trị mặc định và lưu ý về hành vi.

Dữ liệu được sinh từ API TypeScript công khai của thư viện. Kiểu dữ liệu, thuộc tính bắt buộc và giá trị mặc định luôn đồng bộ với mã nguồn.

Form

Component
Thuộc tínhMô tảKiểuMặc định
childrenBắt buộcMã nguồn chưa cung cấp mô tả bổ sung.React.ReactNodeBắt buộc
onSubmitBắt buộcHàm xử lý submit nhận dữ liệu form.SubmitHandler<T>Bắt buộc
initialValuesGiá trị khởi tạo cho form.Partial<T>—
validationSchemaSchema xác thực (tùy chọn).Record<string, any>—
classNameClass tuỳ chỉnh cho thẻ form.string—
sizeKích thước chung cho control (sm, md, lg).FormControlSize—

FormActions

Hàm
APIKiểuMô tả
FormActions(props: React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>) => React.ReactNodeMã nguồn chưa cung cấp mô tả bổ sung.

FormCheckbox

Component
Thuộc tínhMô tảKiểuMặc định
nameBắt buộcTên trường để bind.stringBắt buộc
labelMã nguồn chưa cung cấp mô tả bổ sung.React.ReactNode—
labelClassNameMã nguồn chưa cung cấp mô tả bổ sung.string—
containerClassNameMã nguồn chưa cung cấp mô tả bổ sung.string—

FormControl

Hàm
APIKiểuMô tả
FormControl(props: React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>) => React.ReactNodeMã nguồn chưa cung cấp mô tả bổ sung.

FormDescription

Hàm
APIKiểuMô tả
FormDescription(props: React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>) => React.ReactNodeMã nguồn chưa cung cấp mô tả bổ sung.

FormField

Hàm
APIKiểuMô tả
FormField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React.JSX.ElementMã nguồn chưa cung cấp mô tả bổ sung.

FormInput

Component
Thuộc tínhMô tảKiểuMặc định
variantMã nguồn chưa cung cấp mô tả bổ sung."default" | "filled" | "outlined" | "minimal"—
sizeMã nguồn chưa cung cấp mô tả bổ sung.FormControlSize—
loadingMã nguồn chưa cung cấp mô tả bổ sung.boolean—
borderModeMã nguồn chưa cung cấp mô tả bổ sung.BorderMode—
nameBắt buộcTên trường để bind.stringBắt buộc
successMã nguồn chưa cung cấp mô tả bổ sung.boolean—
descriptionMã nguồn chưa cung cấp mô tả bổ sung.string—
errorMã nguồn chưa cung cấp mô tả bổ sung.string—
maxLengthMã nguồn chưa cung cấp mô tả bổ sung.number—
labelMã nguồn chưa cung cấp mô tả bổ sung.string—
labelClassNameCustom class for labelstring—
leftIconMã nguồn chưa cung cấp mô tả bổ sung.React.ComponentType<{ className?: string }>—
rightIconMã nguồn chưa cung cấp mô tả bổ sung.React.ComponentType<{ className?: string }>—
clearableMã nguồn chưa cung cấp mô tả bổ sung.boolean—
onClearMã nguồn chưa cung cấp mô tả bổ sung.() => void—
hintMã nguồn chưa cung cấp mô tả bổ sung.string—
counterMã nguồn chưa cung cấp mô tả bổ sung.boolean—
rightAddonCustom content rendered inside the input container (positioned absolutely)React.ReactNode—
rightSectionCustom content attached to the end of the input, after built-in controlsReact.ReactNode—

FormItem

Hàm
APIKiểuMô tả
FormItem(props: React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>) => React.ReactNodeMã nguồn chưa cung cấp mô tả bổ sung.

FormLabel

Component
Thuộc tínhMô tảKiểuMặc định
requiredMã nguồn chưa cung cấp mô tả bổ sung.boolean—

FormMessage

Hàm
APIKiểuMô tả
FormMessage(props: React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>) => React.ReactNodeMã nguồn chưa cung cấp mô tả bổ sung.

FormSubmitButton

Component
Thuộc tínhMô tảKiểuMặc định
onClickMã nguồn chưa cung cấp mô tả bổ sung.(event: React.MouseEvent<HTMLButtonElement>) => void—
childrenMã nguồn chưa cung cấp mô tả bổ sung.React.ReactNode—
typeMã nguồn chưa cung cấp mô tả bổ sung."button" | "submit" | "reset"—
iconMã nguồn chưa cung cấp mô tả bổ sung.React.ComponentType<{ className?: string }>—
iconRightMã nguồn chưa cung cấp mô tả bổ sung.React.ComponentType<{ className?: string }>—
variantMã nguồn chưa cung cấp mô tả bổ sung.keyof typeof VARIANT_STYLES_BTN—
sizeMã nguồn chưa cung cấp mô tả bổ sung.keyof typeof SIZE_STYLES_BTN—
classNameMã nguồn chưa cung cấp mô tả bổ sung.string—
iConClassNameMã nguồn chưa cung cấp mô tả bổ sung.string—
disabledMã nguồn chưa cung cấp mô tả bổ sung.boolean—
loadingKhoá và hiển thị bận khi submit.boolean—
fullWidthMã nguồn chưa cung cấp mô tả bổ sung.boolean—
titleMã nguồn chưa cung cấp mô tả bổ sung.string—
spinnerMã nguồn chưa cung cấp mô tả bổ sung.React.ComponentType<{ className?: string }>—
loadingTextMã nguồn chưa cung cấp mô tả bổ sung.React.ReactNode—
preserveChildrenOnLoadingMã nguồn chưa cung cấp mô tả bổ sung.boolean—
preventDoubleClickMã nguồn chưa cung cấp mô tả bổ sung.boolean—
lockMsMã nguồn chưa cung cấp mô tả bổ sung.number—
asContainerMã nguồn chưa cung cấp mô tả bổ sung.boolean—
noWrapMã nguồn chưa cung cấp mô tả bổ sung.boolean—
noHoverOverlayMã nguồn chưa cung cấp mô tả bổ sung.boolean—
gradientMã nguồn chưa cung cấp mô tả bổ sung.boolean—
borderModeMã nguồn chưa cung cấp mô tả bổ sung.BorderMode—

useFormField

Hàm
APIKiểuMô tả
useFormField() => { invalid: boolean; isDirty: boolean; isTouched: boolean; isValidating: boolean; error?: import("react-hook-form/dist/index").FieldError | undefined; id: string; name: string; formItemId: string; formDescriptionId: string; formMessageId: string; }Mã nguồn chưa cung cấp mô tả bổ sung.

Hướng dẫn sử dụng

Dùng Form (with i18n) như hạ tầng thay vì trang trí. Hành vi cần tường minh, có kiểm thử trường hợp biên và chuyển lỗi về ứng dụng sử dụng.

Trợ năng

Khi dùng Form (with i18n), hãy giữ trạng thái focus dễ nhận biết, cung cấp tên truy cập khi cần và kiểm tra bàn phím cùng trình đọc màn hình trong ngữ cảnh thực tế.