Form
<ui5-form> | Since 2.0.0The Form is a layout component that arranges labels and form fields (like input fields) pairs into a specific number of columns.
Note: The Form web component is a layout component, it isn't a replacement for the native form HTML element.
The Form web component does not provide any APIs for form submission.
Structureβ
- Form (
ui5-form) is the top-level container component, responsible for the content layout and responsiveness. - FormGroup (
ui5-form-group) enables the grouping of the Form content. - FormItem (
ui5-form-item) is a pair of label and form fields and can be used directly in a Form, or as part of a FormGroup.
The simplest Form (ui5-form) consists of a header area on top,
displaying a header text (see the headingText property) and content below - an arbitrary number of FormItems (ui5-form-item),
representing the pairs of label and form fields.
And, there is also "grouping" available to assist the implementation of richer UIs.
This is enabled by the FormGroup (ui5-form-group) component.
In this case, the Form is structured into FormGroups and each FormGroup consists of FormItems.
Responsivenessβ
The Form component reacts and changes its layout on predefined breakpoints. Depending on its size, the Form content (FormGroups and FormItems) gets divided into one or more columns as follows:
- S (0 - 599px) β 1 column is recommended (default: 1)
- M (600px - 1023px) β up to 2 columns are recommended (default: 1)
- L (1024px - 1439px) - up to 3 columns are recommended (default: 2)
- XL (>= 1440px) β up to 6 columns are recommended (default: 3)
To change the layout, use the layout property - f.e. layout="S1 M2 L3 XL6".
Groupsβ
To make better use of screen space, there is built-in logic to determine how many columns should a FormGroup occupy.
-
Example #1 (perfect match): 4 columns and 4 groups: each group will use 1 column.
-
Example #2 (balanced distribution): 4 columns and 2 groups: each group will use 2 columns. 6 columns and 2 groups: each group will use 3 columns.
-
Example #3 (unbalanced distribution): 3 columns and 2 groups: the larger one will use 2 columns, the smaller 1 column. 5 columns and 3 groups: two of the groups will use 2 columns each, the smallest 1 column.
Note: The size of a group element is determined by the number of FormItems assigned to it. In the case of equality, the first in the DOM will use more columns, and the last - fewer columns.
- Example #4 (more groups than columns): 3 columns and 4 groups: each FormGroup uses only 1 column, the last FormGroup will wrap on the second row.
Groups Column Spanβ
To influence the built-in group distribution, described in the previous section,
you can use the FormGroup's columnSpan property, that defines how many columns the group should expand to.