Skip to main content

Input components

Input components collect values in create, edit and filter forms. You rarely mount them by hand — SchemaInput picks one from the field's type and format, and an InputProvider can override that choice.

ComponentWhat it collects
SchemaInputDispatcher — resolves type + format to one of the components below
TextInputSingle-line or multiline text, with prefix/postfix adornments
NumberInputA number, parsed and formatted for the active locale
DateInput and DateTimeInputA date or a date and time, via a MUI X picker
TimeInputA time of day, stored as HH:MM:SS
DateRangeInputA date range, picked in a calendar popover
BooleanInputA switch — a tri-state toggle when used as a filter
ChoicesInputOne value from an enum, as a dropdown
UploadInputFiles and images, base64 or chunked
PhoneNumberInputA phone number with a country selector
SchemaObjectInputThe properties of a nested object
SchemaObjectArrayInputA repeatable list of objects
SchemaArrayInputAn array of scalars, enum values or references
SchemaReferenceInputA related record, via autocomplete — or a checkbox tree for a hierarchy
SchemaRangeInputA lower/upper pair of any input type
SchemaPredictiveTextInputText with AI suggestions accepted by Tab
Czech local flavor inputsIČO, DIČ, birth number, ID card number, bank account

Common props​

Every input accepts these props (InputProps); the per-component pages document only what they add on top.

NameTypeDefaultDescription
source (required)string—Name of the field in the form record
labelstring | ReactElement | falselabel from the schemafalse hides the label
helperTextstring | ReactElement | falsehelpText from the schemaText under the input; false removes the reserved space
validateValidator | Validator[]from the schemaReact Admin validators
isRequiredbooleanfrom the schemaMarks the input required
size'small' | 'medium''small'MUI input size
fullWidthbooleandepends on the boxStretches the input to its container
alwaysOnbooleanfalseFilter inputs only — keeps the filter visible without adding it first
defaultValuestring | boolean | numberdefaultValue from the schemaInitial value in a create form
placeholderstring—Placeholder text
disabledbooleanfalseDisables the input while keeping it in the form
readOnlybooleanfalseRenders the value without allowing edits
classNamestring—Class applied to the input wrapper
sxSxProps<Theme>—MUI style override
caution

InputProps carries no options key. The input components take explicit props (numberFormat, prefix, postfix, choices, iconsKey, accept, maxFiles, …); it is InputProvider's default implementation that reads the schema's options object and maps it onto those props before rendering the component directly. Each page's Schema options section states which key maps where.

See also​