ShadSelectMultipleFormField<T>.raw constructor
ShadSelectMultipleFormField<T>.raw ({
- String? id,
- Key? key,
- FormFieldSetter<
Set< ? onSaved,T> > - Widget? label,
- Widget error(
- String error
- Widget? description,
- ValueChanged<
Set< ? onChanged,T> ?> - @Deprecated('Use toValueTransformer instead') ToValueTransformer<
Set< ? valueTransformer,T> ?> - ToValueTransformer<
Set< ? toValueTransformer,T> ?> - FromValueTransformer<
Set< ? fromValueTransformer,T> ?> - VoidCallback? onReset,
- bool enabled = true,
- AutovalidateMode? autovalidateMode,
- String? restorationId,
- Set<
T> ? initialValue, - FocusNode? focusNode,
- FormFieldValidator<
Set< ? validator,T> > - String? forceErrorText,
- required ShadSelectVariant variant,
- required ShadSelectedOptionBuilder<
List< selectedOptionsBuilder,T> > - 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 = true,
- bool closeOnSelect = true,
- ShadSelectController<
T> ? controller, - bool? ensureSelectedVisible,
- FocusNode? searchFocusNode,
- ValueChanged<
String> ? onSearchSubmitted, - VoidCallback? onPressed,
- Object? groupId,
Implementation
ShadSelectMultipleFormField.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<List<T>> selectedOptionsBuilder,
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 = true,
bool closeOnSelect = true,
this.controller,
/// {@macro ShadSelect.ensureSelectedVisible}
bool? ensureSelectedVisible,
/// {@macro ShadSelect.searchFocusNode}
FocusNode? searchFocusNode,
/// {@macro ShadSelect.onSearchSubmitted}
ValueChanged<String>? onSearchSubmitted,
/// {@macro ShadSelect.onPressed}
VoidCallback? onPressed,
/// {@macro ShadPopover.groupId}
Object? groupId,
}) : assert(
variant == ShadSelectVariant.multiple ||
variant == ShadSelectVariant.multipleWithSearch,
'''The variant is not supported. Use multiple or multipleWithSearch or use ShadSelectFormField instead.''',
),
super(
decorationBuilder: (context) =>
(ShadTheme.of(context).selectTheme.decoration ??
const ShadDecoration())
.merge(decoration),
builder: (state) {
state as ShadFormBuilderSelectMultipleState<T>;
return ShadSelect<T>.raw(
variant: variant,
options: options,
optionsBuilder: optionsBuilder,
selectedOptionsBuilder: selectedOptionsBuilder,
focusNode: state.focusNode,
placeholder: placeholder,
enabled: state.enabled,
onMultipleChanged: state.didChange,
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,
controller: state.controller,
ensureSelectedVisible: ensureSelectedVisible,
searchFocusNode: searchFocusNode,
onSearchSubmitted: onSearchSubmitted,
onPressed: onPressed,
groupId: groupId,
);
},
);