ShadSelectFormField<T> constructor
ShadSelectFormField<T> ({
- String? id,
- Key? key,
- FormFieldSetter<
T> ? onSaved, - String? forceErrorText,
- 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, - required ShadSelectedOptionBuilder<
T> selectedOptionBuilder, - Iterable<
Widget> ? options, - Widget? optionsBuilder()?,
- Widget? placeholder,
- bool closeOnTapOutside = true,
- double? minWidth,
- double? maxWidth,
- double? maxHeight,
- ShadDecoration? decoration,
- Widget? trailing,
- EdgeInsetsGeometry? padding,
- EdgeInsetsGeometry? optionsPadding,
- bool? showScrollToTopChevron,
- bool? showScrollToBottomChevron,
- ScrollController? scrollController,
- ShadAnchorBase? anchor,
- ImageFilter? filter,
- ShadPopoverController? popoverController,
- Widget? header,
- bool allowDeselection = false,
- bool closeOnSelect = true,
- Object? groupId,
- int? itemCount,
- bool? shrinkWrap,
- ShadSelectController<
T> ? controller, - bool? ensureSelectedVisible,
- VoidCallback? onPressed,
Implementation
ShadSelectFormField({
super.id,
super.key,
super.onSaved,
super.forceErrorText,
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,
/// {@macro ShadSelect.selectedOptionBuilder}
required ShadSelectedOptionBuilder<T> selectedOptionBuilder,
/// {@macro ShadSelect.options}
Iterable<Widget>? options,
/// {@macro ShadSelect.optionsBuilder}
Widget? Function(BuildContext, int)? optionsBuilder,
/// {@macro ShadSelect.placeholder}
Widget? placeholder,
/// {@macro ShadSelect.closeOnTapOutside}
bool closeOnTapOutside = true,
/// {@macro ShadSelect.minWidth}
double? minWidth,
/// {@macro ShadSelect.maxWidth}
double? maxWidth,
/// {@macro ShadSelect.maxHeight}
double? maxHeight,
/// {@macro ShadSelect.decoration}
ShadDecoration? decoration,
/// {@macro ShadSelect.trailing}
Widget? trailing,
/// {@macro ShadSelect.padding}
EdgeInsetsGeometry? padding,
/// {@macro ShadSelect.optionsPadding}
EdgeInsetsGeometry? optionsPadding,
/// {@macro ShadSelect.showScrollToTopChevron}
bool? showScrollToTopChevron,
/// {@macro ShadSelect.showScrollToBottomChevron}
bool? showScrollToBottomChevron,
/// {@macro ShadSelect.scrollController}
ScrollController? scrollController,
/// {@macro ShadSelect.anchor}
ShadAnchorBase? anchor,
/// {@macro ShadSelect.filter}
ImageFilter? filter,
/// {@macro ShadSelect.popoverController}
ShadPopoverController? popoverController,
/// {@macro ShadSelect.header}
Widget? header,
/// {@macro ShadSelect.footer}
Widget? footer,
/// {@macro ShadSelect.allowDeselection}
bool allowDeselection = false,
/// {@macro ShadSelect.closeOnSelect}
bool closeOnSelect = true,
/// {@macro ShadPopover.groupId}
Object? groupId,
/// {@macro ShadSelect.itemCount}
int? itemCount,
/// {@macro ShadSelect.shrinkWrap}
bool? shrinkWrap,
this.controller,
/// {@macro ShadSelect.ensureSelectedVisible}
bool? ensureSelectedVisible,
/// {@macro ShadSelect.onPressed}
VoidCallback? onPressed,
}) : super(
decorationBuilder: (context) =>
(ShadTheme.of(context).selectTheme.decoration ??
const ShadDecoration())
.merge(decoration),
builder: (state) {
state as ShadFormBuilderSelectState<T>;
return ShadSelect<T>(
options: options,
allowDeselection: allowDeselection,
optionsBuilder: optionsBuilder,
selectedOptionBuilder: selectedOptionBuilder,
focusNode: state.focusNode,
placeholder: placeholder,
initialValue: state.initialValue,
enabled: state.enabled,
closeOnTapOutside: closeOnTapOutside,
anchor: anchor,
minWidth: minWidth,
maxWidth: maxWidth,
maxHeight: maxHeight,
decoration: state.decoration,
trailing: trailing,
padding: padding,
optionsPadding: optionsPadding,
showScrollToTopChevron: showScrollToTopChevron,
showScrollToBottomChevron: showScrollToBottomChevron,
scrollController: scrollController,
filter: filter,
popoverController: popoverController,
header: header,
footer: footer,
closeOnSelect: closeOnSelect,
groupId: groupId,
itemCount: itemCount,
shrinkWrap: shrinkWrap,
controller: state.controller,
ensureSelectedVisible: ensureSelectedVisible,
onPressed: onPressed,
);
},
);