Form select

Uses a native select element for choosing values in a form.

On this page

This docs is LLM-friendly and available as clean Markdown.

Supported browser agents can also use WebMCP to search, read, and open these docs. Learn more

Usage

import {
  GlFormSelect,
  GlFormSelectGroup,
  GlFormSelectItem,
} from "gitlab-ui-react/form-select";
<GlFormSelect aria-label="Visibility">
  <GlFormSelectGroup label="Visibility">
    <GlFormSelectItem value="private">Private</GlFormSelectItem>
  </GlFormSelectGroup>
</GlFormSelect>

Default

Use a native select for choosing one option from a form list, especially when browser and mobile platform behavior is useful. Consider radio buttons when five or fewer choices should remain visible.

Select

Option groups

Use GlFormSelectGroup to organize a longer option list under visible native group labels. Each item requires a string value.

Grouped select options

Accessibility

  • Associate the select with a visible GlFormFieldLabel using matching htmlFor and id values.
  • Do not rely on a disabled placeholder option as the only label.
  • Use concise option and group labels that remain understandable when announced without surrounding content.
  • For custom searchable or multi-select behavior outside a form, use a listbox instead of recreating it with a native select.

API

GlFormSelect forwards supported native select attributes; item and group parts forward <option> and <optgroup> attributes.

GlFormSelect

Prop Description Default
value Controls a string value, or a string array in multiple mode.
defaultValue Sets the initial uncontrolled selection.
onValueChange Reports the selected string or string array.
state Sets valid, invalid, or neutral appearance. null
width Sets a fixed or responsive width from xs through xl. null
wrapperClassName Adds a class to the wrapper that draws the chevron.
ariaInvalid Sets aria-invalid; state={false} implies true when omitted.
onChange Runs with the native select change event.

GlFormSelectItem

Prop Description Default
value Sets the string submitted and reported for an item.

The item also accepts supported native option attributes, including disabled.

GlFormSelectGroup

Prop Description Default
label Gives an option group its visible and accessible label.

The group also accepts supported native optgroup attributes, including disabled.