SelectField<T> constructor
const
SelectField<T> ({
- Key? key,
- String? label,
- TextStyle? labelStyle,
- bool enabled = true,
- String? unselectedString,
- Duration duration = const Duration(milliseconds: 300),
- T? initialValue,
- ScrollController? scrollController,
- required List<
SelectFieldOption< options,T> > - ValueChanged<
T> ? onSelected, - bool closeOnSelect = true,
- String? errorText,
- SelectTrailingBuilder? trailingBuilder,
- BorderRadius? borderRadius,
- bool? filled,
- bool enableSearch = false,
- Color? fillColor,
- bool overrideColor = false,
- List<
InputFeedbackText> ? feedback, - double? maxWidth,
- TextStyle? titleStyle,
- TextStyle? optionTileStyle,
- EdgeInsets fieldPadding = const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
- void onSearchChange(
- String searchText
- String? searchHintText,
- bool collapsed = true,
- bool autoFocusOnExpanded = true,
- bool ensureVisibleOnNewOptions = true,
- void onTransitionEnds(
- SelectFieldCollapseState state
- Widget iconBuilder(
- BuildContext context,
- Widget defaultChild,
- bool expanded
- bool closeOnUnfocus = true,
- AnimatedStateListItemBuilder<
SelectFieldOption< ? optionsSeparatorBuilder,T> > - bool searchAutocorrect = true,
- TextInputType? searchKeyboardType,
- TextCapitalization searchTextCapitalization = TextCapitalization.none,
- bool makeOverlay = false,
- double collapsibleHeight = 350,
- Widget listMenuWrapperBuilder(
- Widget child
Implementation
const SelectField({
super.key,
super.label,
super.labelStyle,
super.enabled = true,
super.unselectedString,
super.duration = const Duration(milliseconds: 300),
this.initialValue,
super.scrollController,
required super.options,
this.onSelected,
super.closeOnSelect = true,
super.errorText,
super.trailingBuilder,
super.borderRadius,
super.filled,
super.enableSearch = false,
super.fillColor,
super.overrideColor = false,
super.feedback,
super.maxWidth,
super.titleStyle,
super.optionTileStyle,
super.fieldPadding,
super.onSearchChange,
super.searchHintText,
super.collapsed,
super.autoFocusOnExpanded = true,
super.ensureVisibleOnNewOptions = true,
super.onTransitionEnds,
super.iconBuilder,
super.closeOnUnfocus,
super.optionsFooterBuilder,
super.optionsSeparatorBuilder,
super.searchAutocorrect,
super.searchKeyboardType,
super.searchTextCapitalization,
super.makeOverlay,
super.collapsibleHeight,
super.listMenuWrapperBuilder,
}) : assert(
overrideColor && fillColor != null || !overrideColor,
"You must provide a color in order to set 'overrideColor' as true",
);