Skip to content

Field Component ​

The Field component renders an individual form field using the appropriate input component based on its type. It supports both default and custom renderers.

Props ​

NameTypeDescription
fieldFieldDTOField definition (type, label, validation, etc.).
valueanyCurrent value of the field.
onChange(val: any) => voidCallback to update the field value.
errorstring | null (optional)Error message for the field.
renderersRecord<string, React.ComponentType<FieldRendererProps>> (optional)Custom renderers for field types.

Usage ​

tsx
<Field
  field={fieldDTO}
  value={currentValue}
  onChange={handleChange}
  error={error}
  renderers={{ type: CustomRenderer }}
/>

Note: ​

type should only be [text, email, password, textarea, number, select, checkbox, date, autocomplete, multi-autocomplete]


Features ​

  • Default Renderers: Supports text, number, date, select, checkbox, autocomplete, and multi-autocomplete.
  • Custom Renderers: Allows overriding default renderer for any field type.
  • Error Handling: Passes error messages to input components for display.

Example ​

tsx
const fieldDTO = {
  id: "email",
  type: "email",
  label: "Email Address",
  required: true,
};

<Field
  field={fieldDTO}
  value={"user@example.com"}
  onChange={(val) => { /* handle change */ }}
  error={null}
/>