ShadSelectFormField<T>.raw constructor
ShadSelectFormField<T>.raw ({
- String? id,
- Key? key,
- FormFieldSetter<
T> ? onSaved, - Widget? label,
- Widget error(
- String error
- Widget? description,
- ValueChanged<
T?> ? onChanged, - @Deprecated('Use toValueTransformer instead') ToValueTransformer<
T?> ? valueTransformer, - ToValueTransformer<
T?> ? toValueTransformer, - FromValueTransformer<
T?> ? fromValueTransformer, - VoidCallback? onReset,
- bool enabled = true,
- AutovalidateMode? autovalidateMode,
- String? restorationId,
- T? initialValue,
- FocusNode? focusNode,
- FormFieldValidator<
T> ? validator, - String? forceErrorText,
- required ShadSelectVariant variant,
- required ShadSelectedOptionBuilder<
T> selectedOptionBuilder, - Iterable<
Widget> ? options, - Widget? optionsBuilder()?,
- ValueChanged<
String> ? onSearchChanged, - Widget? placeholder,
- bool closeOnTapOutside = true,
- double? minWidth,
- double? maxHeight,
- ShadDecoration? decoration,
- Widget? trailing,
- EdgeInsetsGeometry? padding,
- EdgeInsetsGeometry? optionsPadding,
- bool? showScrollToTopChevron,
- bool? showScrollToBottomChevron,
- ScrollController? scrollController,
- ShadAnchorBase? anchor,
- ImageFilter? filter,
- Widget? searchDivider,
- Widget? searchInputLeading,
- Widget? searchPlaceholder,
- EdgeInsetsGeometry? searchPadding,
- Widget? search,
- bool? clearSearchOnClose,
- ShadPopoverController? popoverController,
- Widget? header,
- bool allowDeselection = false,
- bool closeOnSelect = true,
- Object? groupId,
- int? itemCount,
- bool? shrinkWrap,
- ShadSelectController<
T> ? controller, - bool? ensureSelectedVisible,
- FocusNode? searchFocusNode,
- ValueChanged<
String> ? onSearchSubmitted, - VoidCallback? onPressed,
Implementation
ShadSelectFormField.raw({
super.id,
super.key,
super.onSaved,
super.label,
super.error,
super.description,
super.onChanged,
@Deprecated('Use toValueTransformer instead') super.valueTransformer,
super.toValueTransformer,
super.fromValueTransformer,
super.onReset,
super.enabled,
super.autovalidateMode,
super.restorationId,
super.initialValue,
super.focusNode,
super.validator,
super.forceErrorText,
required ShadSelectVariant variant,
required ShadSelectedOptionBuilder<T> selectedOptionBuilder,
Iterable<Widget>? options,
/// The builder for the options of the [ShadSelect].
Widget? Function(BuildContext, int)? optionsBuilder,
ValueChanged<String>? onSearchChanged,
Widget? placeholder,
bool closeOnTapOutside = true,
double? minWidth,
double? maxHeight,
ShadDecoration? decoration,
Widget? trailing,
EdgeInsetsGeometry? padding,
EdgeInsetsGeometry? optionsPadding,
bool? showScrollToTopChevron,
bool? showScrollToBottomChevron,
ScrollController? scrollController,
ShadAnchorBase? anchor,
ImageFilter? filter,
Widget? searchDivider,
Widget? searchInputLeading,
Widget? searchPlaceholder,
EdgeInsetsGeometry? searchPadding,
Widget? search,
bool? clearSearchOnClose,
ShadPopoverController? popoverController,
/// {@macro select.header}
Widget? header,
/// {@macro select.footer}
Widget? footer,
bool allowDeselection = false,
bool closeOnSelect = true,
/// {@macro ShadPopover.groupId}
Object? groupId,
/// {@macro ShadSelect.itemCount}
int? itemCount,
/// {@macro ShadSelect.shrinkWrap}
bool? shrinkWrap,
/// {@macro ShadSelect.controller}
this.controller,
/// {@macro ShadSelect.ensureSelectedVisible}
bool? ensureSelectedVisible,
/// {@macro ShadSelect.searchFocusNode}
FocusNode? searchFocusNode,
/// {@macro ShadSelect.onSearchSubmitted}
ValueChanged<String>? onSearchSubmitted,
/// {@macro ShadSelect.onPressed}
VoidCallback? onPressed,
}) : assert(
variant == ShadSelectVariant.primary ||
variant == ShadSelectVariant.search,
'''The variant is not supported. Use primary or search or use ShadSelectMultipleFormField instead.''',
),
super(
decorationBuilder: (context) =>
(ShadTheme.of(context).selectTheme.decoration ??
const ShadDecoration())
.merge(decoration),
builder: (state) {
state as ShadFormBuilderSelectState<T>;
return ShadSelect<T>.raw(
variant: variant,
options: options,
optionsBuilder: optionsBuilder,
selectedOptionBuilder: selectedOptionBuilder,
focusNode: state.focusNode,
placeholder: placeholder,
initialValue: state.initialValue,
enabled: state.enabled,
closeOnTapOutside: closeOnTapOutside,
anchor: anchor,
minWidth: minWidth,
maxHeight: maxHeight,
decoration: state.decoration,
trailing: trailing,
padding: padding,
optionsPadding: optionsPadding,
showScrollToTopChevron: showScrollToTopChevron,
showScrollToBottomChevron: showScrollToBottomChevron,
scrollController: scrollController,
filter: filter,
onSearchChanged: onSearchChanged,
searchDivider: searchDivider,
searchInputLeading: searchInputLeading,
searchPlaceholder: searchPlaceholder,
searchPadding: searchPadding,
search: search,
clearSearchOnClose: clearSearchOnClose,
popoverController: popoverController,
header: header,
footer: footer,
allowDeselection: allowDeselection,
closeOnSelect: closeOnSelect,
groupId: groupId,
itemCount: itemCount,
shrinkWrap: shrinkWrap,
controller: state.controller,
ensureSelectedVisible: ensureSelectedVisible,
searchFocusNode: searchFocusNode,
onSearchSubmitted: onSearchSubmitted,
onPressed: onPressed,
);
},
);