Select
Introduction
The Select component is a dropdown menu that allows users to choose one option from a list of predefined choices. It provides a compact way to present multiple options while conserving space in forms and interfaces. The component features Mantine styling with optional search and clear functionality.
The Select component is based on Mantine Select. It is included within the following NPM package: @react-form-builder/components-mantine.
The Select 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 |
|---|---|---|
| Label | string | Text displayed as the label for the dropdown |
| Value | string | The selected value (uncontrolled value) |
| Data | array | Array of options (e.g. [{ value: 'opt1', label: 'Option 1' }, ...]) |
| Placeholder | string | Placeholder when no value is selected |
| Description | string | Helper text below the field |
| Error | string | Error message; when set, applies error styling |
| Size | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | The size of the dropdown |
| Variant | 'filled' | 'default' | 'unstyled' | The visual variant |
| Disabled | boolean | Disables the dropdown |
| Clearable | boolean | If true, shows a clear button when a value is selected |
| Searchable | boolean | If true, allows filtering options by typing |
| Allow deselect | boolean | If true, allows clearing the selection |
| Nothing found message | string | Message when search returns no results |
| With check icon | boolean | If true, shows a check icon next to the selected option |
| Check icon position | 'left' | 'right' | Position of the check icon in the dropdown list |
| On change | event | Fired when the value changes |
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