Skip to content

API: Field Types

All field types extend the abstract FormField base class and register with a unique schema name.

FormField

abstract

Class Signature

Base class for all form fields. Holds shared metadata, observable visibility and enabled flags, and the bridging methods to reactive_forms.

Layout width is not a FormField constructor argument. Explicit 12-column widths belong to FormRowItem.span in the runtime model, or to RowInstance spans in the visual editor.


TextField

Class Signature

Schema: vyuh.formfield.text | Control: FormControl<String>


NumberField

Class Signature

Schema: vyuh.formfield.number | Control: FormControl<num>


SelectField

Class Signature

Schema: vyuh.formfield.select | Control: FormControl<String> or FormControl<List<String>>

SelectOption

dart
final class SelectOption extends SelectOptionBase {
  final String value;
  final String title;
}

SelectOptionGroup

dart
final class SelectOptionGroup extends SelectOptionBase {
  final String title;
  final List<SelectOption> options;
}

BooleanField

Class Signature

Schema: vyuh.formfield.boolean | Control: FormControl<bool>

Layouts: SwitchBooleanFieldLayout (default), CheckboxBooleanFieldLayout


DateTimeField

Class Signature

Schema: vyuh.formfield.datetime | Control: FormControl<DateTime>

dart
enum SelectionType { date, time, dateTime }

SliderField

Class Signature

Schema: vyuh.formfield.slider | Control: FormControl<double>


RangeSliderField

Class Signature

Schema: vyuh.formfield.rangeSlider | Control: FormControl<RangeValues>


PhoneNumberField

Class Signature

Schema: vyuh.formfield.phoneNumber | Control: FormControl<String>


ImagePickerField

Class Signature

Schema: vyuh.formfield.imagePicker | Control: FormControl<List<XFile>?>


FilePickerField

Class Signature

Schema: vyuh.formfield.filePicker | Control: FormControl<List<PlatformFile>?>


FormulaField

Class Signature

Schema: vyuh.formfield.formula | Computed display only

dart
enum FormulaResultType { number, dateTime, string }

ReferenceField

Class Signature

Schema: vyuh.formfield.reference | Control: FormControl<String> or FormControl<List<String>>

Layouts: AutocompleteReferenceLayout, DropdownReferenceLayout, ChipsReferenceLayout, RadioReferenceLayout, CheckboxReferenceLayout, BarcodeScannerReferenceLayout

Next Steps