Prezentare generală
UtilizațiField pentru a grupa un control cu eticheta sa accesibilă și textul ajutător. Componente precum Input se integrează direct cu câmpul.
Utilizare
Field.Root gestionează numele controlului, starea de dezactivare și validitatea acestuia. Field.Label și Field.Description își conectează conținutul la control. Setați momentul validării cu validationMode; utilizați validate pentru validare personalizată.
Anatomie internă a componentelor?
Plasați un control și componentele sale auxiliare înField.Root. Această structură arată un câmp construit cu componenta stilizată Input.
Input și Textarea se integrează deja cu câmpul. Plasați-le direct în Root; acestea furnizează singure comportamentul de control. Controalele compuse, precum Select, își păstrează propria rădăcină și propriile componente în interiorul câmpului.
Erori externe
Utilizațiinvalid atunci când aplicația dvs. gestionează starea de eroare. Un match explicit face vizibil mesajul de eroare.
Controale grupate
FoloseșteField.Item într-un grup de butoane radio sau de casete de selectare pentru a asocia fiecare opțiune cu propria etichetă și descriere. Păstrează eticheta grupului în afara elementelor. Un element poate fi dezactivat independent; un Field.Root dezactivat dezactivează fiecare element.
Integrare nativă și tipuri
Field păstrează momentul validării Base UI, validarea personalizată, valorile controlate și necontrolate ale controalelor și detaliile evenimentului de modificare a valorii.Validity expune rezultatul validării prin funcția sa children. Controalele integrate își păstrează comportamentul nativ al formularului.
Root, Item, Label, Control, Description și Error transmit props native, refs și compoziția render. Elementele lor implicite sunt, respectiv, un div, div, label, input, paragraf și div. Validity nu redă propriul element.
Importă FieldRootProps, FieldItemProps, FieldLabelProps, FieldControlProps, FieldDescriptionProps, FieldErrorProps și FieldValidityProps din twenty-ui/primitives/input pentru contractele corespunzătoare ale componentelor din amonte.
Proprietăți
Referința este generată din tipurile componentei publice. Atributele native, inclusiv numele accesibile și gestionarele de evenimente, sunt acceptate și pe părțile care redau elemente.Field.Root
RefObject<FieldRootActions | null>
A ref to imperative actions.
validate: Validates the field when called.
string | ((state: FieldRootState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
Whether the field’s value has been changed from its initial value.
Useful when the field state is controlled by an external library.
boolean
implicit:"false"
Whether the component should ignore user interaction.
Takes precedence over the
disabled prop on the <Field.Control> component.boolean
Whether the field is invalid.
Useful when the field state is controlled by an external library.
string
Identifies the field when a form is submitted.
Takes precedence over the
name prop on the <Field.Control> component.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldRootState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldRootState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
boolean
Whether the field has been touched.
Useful when the field state is controlled by an external library.
((value: unknown, formValues: Record<string, any>) => string | void | string[] | Promise<string | void | string[] | null> | null)
A function for custom validation. Return a string or an array of strings with
the error message(s) if the value is invalid. Returning nothing,
null, an empty
string, or an empty array means the value is valid.
Asynchronous functions are supported, but they do not prevent form submission
when using validationMode="onSubmit".number
implicit:"0"
How long to wait between
validate callbacks if
validationMode="onChange" is used. Specified in milliseconds."onBlur" | "onChange" | "onSubmit"
implicit:"onSubmit"
Determines when the field should be validated.
This takes precedence over the
validationMode prop on <Form>.onSubmit: triggers validation when the form is submitted, and re-validates on change after submission.onBlur: triggers validation when the control loses focus.onChange: triggers validation on every change to the control value.
Field.Item
string | ((state: FieldItemState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
implicit:"false"
Whether the wrapped control should ignore user interaction.
The
disabled prop on <Field.Root> takes precedence over this.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldItemState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldItemState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Field.Label
string | ((state: FieldLabelState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean
implicit:"true"
Whether the component renders a native
<label> element when replacing it via the render prop.
Set to false if the rendered element is not a label (for example, <div>).This is useful to avoid inheriting label behaviors on <button> controls (such as <Select.Trigger> and <Combobox.Trigger>), including avoiding :hover on the button when hovering the label, and preventing clicks on the label from firing on the button.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldLabelState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldLabelState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Field.Control
string | ((state: FieldControlState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
string | number | readonly string[]
The default value of the input. Use when uncontrolled.
((value: string, eventDetails: { reason: "none"; event: Event; cancel: () => void; allowPropagation: () => void; isCanceled: boolean; isPropagationAllowed: boolean; trigger: Element | undefined; }) => void)
Callback fired when the
value changes. Use when controlled.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldControlState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldControlState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Field.Description
string | ((state: FieldDescriptionState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldDescriptionState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldDescriptionState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Field.Error
string | ((state: FieldErrorState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
boolean | keyof ValidityState
Determines whether to show the error message according to the field’s
ValidityState.
Specifying
true will always show the error message, and lets external libraries
control the visibility.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, FieldErrorState>
Allows you to replace the component’s HTML element
with a different tag, or compose it with another component.Accepts a
ReactElement or a function that returns the element to render.CSSProperties | ((state: FieldErrorState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.
Field.Validity
(state: FieldValidityState) => ReactNode
obligatoriu
A function that accepts the field validity state as an argument.