Skip to content

Select Input

A Select Input allows users to choose a single option from a predefined list. It combines an input field with a dropdown menu that reveals available selections when expanded.

Use a Select Input when the user needs to pick one option from several clearly defined choices, such as selecting a country, category, or status.

Common alternative names:
Dropdown, Selection Field, Menu Select, Combo Box


A dropdown input with a standard label.


A dropdown input with a floating label that moves above the input when a value is selected.


PropertyTypeDescription
widthdoubleThe width of the dropdown input. Defaults to 400.
labelString?The label text displayed when no value is selected.
selectedLabelString?The label text displayed when a value is selected. If null, falls back to label.
labelStyleTextStyle?Custom text style for the label.
disabledboolWhether the dropdown input is disabled. Defaults to false.
showLabelboolWhether to show the label above the dropdown input. Defaults to false.
iconWidget?Custom icon displayed as the trailing icon in the dropdown.
selectedIconWidget?Custom icon displayed as the trailing icon when a value is selected.
dropdownMenuEntriesList<DropdownMenuEntry<T>>The list of dropdown menu entries to display.
onSelectedvoid Function(T?)?Callback function triggered when a value is selected.
focusNodeFocusNode?The focus node for managing focus state.
controllerTextEditingController?The text editing controller for managing the input value.
errorTextString?The error text displayed below the dropdown input.
validatorString? Function(T?)?Validator function for validating the selected value.
initialValueT?The initial value of the dropdown input.
inputDecorationThemeInputDecorationTheme?Custom input decoration theme for styling the dropdown input.