FSelect<T>.searchBuilder constructor
const
FSelect<T>.searchBuilder ({
- required String format(
- T
- required FutureOr<
Iterable< filter(T> >- String query
- required FSelectSearchContentBuilder<
T> contentBuilder, - FSelectSearchFieldProperties searchFieldProperties,
- Widget contentLoadingBuilder(),
- Widget contentErrorBuilder()?,
- FSelectController<
T> ? controller, - FSelectStyle style()?,
- bool autofocus,
- FocusNode? focusNode,
- FFieldBuilder<
FSelectStyle> builder, - FFieldIconBuilder<
FSelectStyle> ? prefixBuilder, - FFieldIconBuilder<
FSelectStyle> ? suffixBuilder, - Widget? label,
- Widget? description,
- bool enabled,
- ValueChanged<
T?> ? onChange, - FormFieldSetter<
T> ? onSaved, - AutovalidateMode autovalidateMode,
- String? forceErrorText,
- FormFieldValidator<
T> validator, - Widget errorBuilder(),
- String? hint,
- TextAlign textAlign,
- TextAlignVertical? textAlignVertical,
- TextDirection? textDirection,
- bool expands,
- MouseCursor mouseCursor,
- bool canRequestFocus,
- bool clearable,
- AlignmentGeometry anchor,
- AlignmentGeometry fieldAnchor,
- FPortalConstraints popoverConstraints,
- FPortalSpacing spacing,
- Offset shift(),
- Offset offset,
- FPopoverHideRegion hideRegion,
- bool autoHide,
- Widget contentEmptyBuilder(),
- ScrollController? contentScrollController,
- bool contentScrollHandles,
- ScrollPhysics contentPhysics,
- FItemDivider contentDivider,
- T? initialValue,
- Key? key,
Creates a searchable select with dynamic content based on search input.
The searchFieldProperties
can be used to customize the search field.
The filter
callback produces a list of items based on the search query either synchronously or asynchronously.
The contentBuilder
callback builds the list of items based on search results returned by filter
.
The contentLoadingBuilder
is used to show a loading indicator while the search results is processed
asynchronously by filter
.
The contentErrorBuilder
is used to show an error message when filter
is asynchronous and fails.
Implementation
const factory FSelect.searchBuilder({
required String Function(T) format,
required FutureOr<Iterable<T>> Function(String query) filter,
required FSelectSearchContentBuilder<T> contentBuilder,
FSelectSearchFieldProperties searchFieldProperties,
Widget Function(BuildContext, FSelectSearchStyle) contentLoadingBuilder,
Widget Function(BuildContext, Object?, StackTrace)? contentErrorBuilder,
FSelectController<T>? controller,
FSelectStyle Function(FSelectStyle)? style,
bool autofocus,
FocusNode? focusNode,
FFieldBuilder<FSelectStyle> builder,
FFieldIconBuilder<FSelectStyle>? prefixBuilder,
FFieldIconBuilder<FSelectStyle>? suffixBuilder,
Widget? label,
Widget? description,
bool enabled,
ValueChanged<T?>? onChange,
FormFieldSetter<T>? onSaved,
AutovalidateMode autovalidateMode,
String? forceErrorText,
FormFieldValidator<T> validator,
Widget Function(BuildContext, String) errorBuilder,
String? hint,
TextAlign textAlign,
TextAlignVertical? textAlignVertical,
TextDirection? textDirection,
bool expands,
MouseCursor mouseCursor,
bool canRequestFocus,
bool clearable,
AlignmentGeometry anchor,
AlignmentGeometry fieldAnchor,
FPortalConstraints popoverConstraints,
FPortalSpacing spacing,
Offset Function(Size, FPortalChildBox, FPortalBox) shift,
Offset offset,
FPopoverHideRegion hideRegion,
bool autoHide,
Widget Function(BuildContext, FSelectStyle) contentEmptyBuilder,
ScrollController? contentScrollController,
bool contentScrollHandles,
ScrollPhysics contentPhysics,
FItemDivider contentDivider,
T? initialValue,
Key? key,
}) = _SearchSelect<T>;