TextField
Introduction
TextField represents a versatile text input field that allows users to enter and edit text with Material Design styling. It provides a comprehensive and customizable alternative to native HTML input controls, and can be used to collect various types of user input, such as names, email addresses, passwords, or multiline text.
The TextField component is based on Material UI TextField. It is included within the following NPM package: @react-form-builder/components-material-ui.
The TextField component can be styled and configured to fit specific design and functionality requirements by using various properties that are presented and described below.
Main properties
The following general properties are available within the Main tab:
| Name | Type | Description |
|---|---|---|
| Value | string | Sets the default value for the text field |
| Multiline | boolean | Enables multiline text input (textarea) |
| Max rows | number | Maximum number of rows for multiline text fields |
| Label | string | Text that is displayed as the label for the component |
| Disabled | boolean | Disables the component, making it non-interactive |
| Type | choice | Sets the input type (text, number, password, date, time, datetime-local, month, week, range, color) |
| Variant | choice | Sets the visual variant (outlined, standard, filled) |
| Size | choice | Sets the size of the input field (small, medium) |
| Error | boolean | Applies error styling to indicate invalid input |
| Helper text | string | Additional text displayed below the field (e.g., for validation messages) |
| Margin | choice | Sets the margin spacing (dense, normal, none) |
At the bottom of the Main properties menu, you can find additional options:
- Render When: Provides conditional rendering for your component as described in the corresponding chapter.
- HTML attributes: Allows you to provide custom HTML attributes for your form.
Style properties
These are properties that allow to customize the size, color and other style properties of your component:
- For Device: You can provide component's style customization for all devices or specific devices by using this dropdown list. Refer to Adaptive Layout for more details.
- Component > Class Name: Add a class name for your component for the subsequent styling if necessary.
-
Wrapper: The options below enable you to tailor the appearance of your component and customize it for a specific device type, as selected in the For Device property:
Name Type Description Width numberSpecifies the width for your component Height numberSpecifies the height for your component Margin top/right/bottom/left numberMargin values for you component Color stringAllows customizing the text color Background color stringEnables customizing the background color