FAutocomplete constructor
FAutocomplete({
- required List<
String> items, - FAutocompleteControl control = const .managed(),
- FPopoverControl popoverControl = const .managed(),
- FAutocompleteStyle style(
- FAutocompleteStyle style
- Widget? label,
- String? hint,
- Widget? description,
- TextMagnifierConfiguration? magnifierConfiguration,
- Object groupId = EditableText,
- FocusNode? focusNode,
- TextInputType? keyboardType,
- TextInputAction? textInputAction,
- TextCapitalization textCapitalization = .none,
- TextAlign textAlign = .start,
- TextAlignVertical? textAlignVertical,
- TextDirection? textDirection,
- VoidCallback? contentOnTapHide,
- bool autofocus = false,
- WidgetStatesController? statesController,
- String obscuringCharacter = '•',
- bool obscureText = false,
- bool autocorrect = true,
- SmartDashesType? smartDashesType,
- SmartQuotesType? smartQuotesType,
- bool enableSuggestions = true,
- int? minLines,
- int? maxLines = 1,
- bool expands = false,
- bool readOnly = false,
- bool? showCursor,
- int? maxLength,
- MaxLengthEnforcement? maxLengthEnforcement,
- bool onTapAlwaysCalled = false,
- VoidCallback? onEditingComplete,
- ValueChanged<
String> ? onSubmit, - AppPrivateCommandCallback? onAppPrivateCommand,
- List<
TextInputFormatter> ? inputFormatters, - bool enabled = true,
- bool? ignorePointers,
- bool enableInteractiveSelection = true,
- TextSelectionControls? selectionControls,
- DragStartBehavior dragStartBehavior = .start,
- MouseCursor? mouseCursor,
- FTextFieldCounterBuilder? counterBuilder,
- ScrollPhysics? scrollPhysics,
- ScrollController? scrollController,
- Iterable<
String> ? autofillHints, - String? restorationId,
- bool stylusHandwritingEnabled = true,
- bool enableIMEPersonalizedLearning = true,
- ContentInsertionConfiguration? contentInsertionConfiguration,
- EditableTextContextMenuBuilder? contextMenuBuilder,
- bool canRequestFocus = true,
- UndoHistoryController? undoController,
- SpellCheckConfiguration? spellCheckConfiguration,
- FFieldIconBuilder<
FAutocompleteStyle> ? prefixBuilder, - FFieldIconBuilder<
FAutocompleteStyle> ? suffixBuilder, - bool clearable(
- TextEditingValue value
- FormFieldSetter<
String> ? onSaved, - VoidCallback? onReset,
- FormFieldValidator<
String> ? validator, - AutovalidateMode autovalidateMode = .disabled,
- String? forceErrorText,
- Widget errorBuilder(
- BuildContext context,
- String message
- AlignmentGeometry contentAnchor = AlignmentDirectional.topStart,
- AlignmentGeometry fieldAnchor = AlignmentDirectional.bottomStart,
- FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
- FPortalSpacing contentSpacing = const .spacing(4),
- FPortalOverflow contentOverflow = .flip,
- Offset contentOffset = .zero,
- FPopoverHideRegion contentHideRegion = .excludeChild,
- Object? contentGroupId,
- bool autoHide = true,
- FFieldBuilder<
FAutocompleteStyle> builder = _builder, - bool rightArrowToComplete = false,
- FutureOr<
Iterable< filter(String> >- String query
- FAutoCompleteContentBuilder? contentBuilder,
- ScrollController? contentScrollController,
- ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
- FItemDivider contentDivider = .none,
- Widget contentEmptyBuilder(
- BuildContext context,
- FAutocompleteContentStyle style
- Widget contentLoadingBuilder(
- BuildContext context,
- FAutocompleteContentStyle style
- Widget contentErrorBuilder(
- BuildContext context,
- Object? error,
- StackTrace stackTrace
- Key? key,
Creates a FAutocomplete from the given items.
For more control over the appearance of items, use FAutocomplete.builder.
Implementation
FAutocomplete({
required List<String> items,
FAutocompleteControl control = const .managed(),
FPopoverControl popoverControl = const .managed(),
FAutocompleteStyle Function(FAutocompleteStyle style)? style,
Widget? label,
String? hint,
Widget? description,
TextMagnifierConfiguration? magnifierConfiguration,
Object groupId = EditableText,
FocusNode? focusNode,
TextInputType? keyboardType,
TextInputAction? textInputAction,
TextCapitalization textCapitalization = .none,
TextAlign textAlign = .start,
TextAlignVertical? textAlignVertical,
TextDirection? textDirection,
VoidCallback? contentOnTapHide,
bool autofocus = false,
WidgetStatesController? statesController,
String obscuringCharacter = '•',
bool obscureText = false,
bool autocorrect = true,
SmartDashesType? smartDashesType,
SmartQuotesType? smartQuotesType,
bool enableSuggestions = true,
int? minLines,
int? maxLines = 1,
bool expands = false,
bool readOnly = false,
bool? showCursor,
int? maxLength,
MaxLengthEnforcement? maxLengthEnforcement,
bool onTapAlwaysCalled = false,
VoidCallback? onEditingComplete,
ValueChanged<String>? onSubmit,
AppPrivateCommandCallback? onAppPrivateCommand,
List<TextInputFormatter>? inputFormatters,
bool enabled = true,
bool? ignorePointers,
bool enableInteractiveSelection = true,
TextSelectionControls? selectionControls,
DragStartBehavior dragStartBehavior = .start,
MouseCursor? mouseCursor,
FTextFieldCounterBuilder? counterBuilder,
ScrollPhysics? scrollPhysics,
ScrollController? scrollController,
Iterable<String>? autofillHints,
String? restorationId,
bool stylusHandwritingEnabled = true,
bool enableIMEPersonalizedLearning = true,
ContentInsertionConfiguration? contentInsertionConfiguration,
EditableTextContextMenuBuilder? contextMenuBuilder,
bool canRequestFocus = true,
UndoHistoryController? undoController,
SpellCheckConfiguration? spellCheckConfiguration,
FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
bool Function(TextEditingValue value) clearable = _clearable,
FormFieldSetter<String>? onSaved,
VoidCallback? onReset,
FormFieldValidator<String>? validator,
AutovalidateMode autovalidateMode = .disabled,
String? forceErrorText,
Widget Function(BuildContext context, String message) errorBuilder = FFormFieldProperties.defaultErrorBuilder,
AlignmentGeometry contentAnchor = AlignmentDirectional.topStart,
AlignmentGeometry fieldAnchor = AlignmentDirectional.bottomStart,
FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
FPortalSpacing contentSpacing = const .spacing(4),
FPortalOverflow contentOverflow = .flip,
Offset contentOffset = .zero,
FPopoverHideRegion contentHideRegion = .excludeChild,
Object? contentGroupId,
bool autoHide = true,
FFieldBuilder<FAutocompleteStyle> builder = _builder,
bool rightArrowToComplete = false,
FutureOr<Iterable<String>> Function(String query)? filter,
FAutoCompleteContentBuilder? contentBuilder,
ScrollController? contentScrollController,
ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
FItemDivider contentDivider = .none,
Widget Function(BuildContext context, FAutocompleteContentStyle style) contentEmptyBuilder =
defaultContentEmptyBuilder,
Widget Function(BuildContext context, FAutocompleteContentStyle style) contentLoadingBuilder =
defaultContentLoadingBuilder,
Widget Function(BuildContext context, Object? error, StackTrace stackTrace)? contentErrorBuilder,
Key? key,
}) : this.builder(
filter: filter ?? (query) => items.where((item) => item.toLowerCase().startsWith(query.toLowerCase())),
contentBuilder:
contentBuilder ?? (context, query, values) => [for (final value in values) .item(value: value)],
control: control,
popoverControl: popoverControl,
style: style,
label: label,
hint: hint,
description: description,
magnifierConfiguration: magnifierConfiguration,
groupId: groupId,
focusNode: focusNode,
keyboardType: keyboardType,
textInputAction: textInputAction,
textCapitalization: textCapitalization,
textAlign: textAlign,
textAlignVertical: textAlignVertical,
textDirection: textDirection,
contentOnTapHide: contentOnTapHide,
autofocus: autofocus,
statesController: statesController,
obscuringCharacter: obscuringCharacter,
obscureText: obscureText,
autocorrect: autocorrect,
smartDashesType: smartDashesType,
smartQuotesType: smartQuotesType,
enableSuggestions: enableSuggestions,
minLines: minLines,
maxLines: maxLines,
expands: expands,
readOnly: readOnly,
showCursor: showCursor,
maxLength: maxLength,
maxLengthEnforcement: maxLengthEnforcement,
onTapAlwaysCalled: onTapAlwaysCalled,
onEditingComplete: onEditingComplete,
onSubmit: onSubmit,
onAppPrivateCommand: onAppPrivateCommand,
inputFormatters: inputFormatters,
enabled: enabled,
ignorePointers: ignorePointers,
enableInteractiveSelection: enableInteractiveSelection,
selectionControls: selectionControls,
dragStartBehavior: dragStartBehavior,
mouseCursor: mouseCursor,
counterBuilder: counterBuilder,
scrollPhysics: scrollPhysics,
scrollController: scrollController,
autofillHints: autofillHints,
restorationId: restorationId,
stylusHandwritingEnabled: stylusHandwritingEnabled,
enableIMEPersonalizedLearning: enableIMEPersonalizedLearning,
contentInsertionConfiguration: contentInsertionConfiguration,
contextMenuBuilder: contextMenuBuilder,
canRequestFocus: canRequestFocus,
undoController: undoController,
spellCheckConfiguration: spellCheckConfiguration,
prefixBuilder: prefixBuilder,
suffixBuilder: suffixBuilder,
clearable: clearable,
onSaved: onSaved,
onReset: onReset,
validator: validator,
autovalidateMode: autovalidateMode,
forceErrorText: forceErrorText,
errorBuilder: errorBuilder,
contentAnchor: contentAnchor,
fieldAnchor: fieldAnchor,
contentConstraints: contentConstraints,
contentSpacing: contentSpacing,
contentOverflow: contentOverflow,
contentOffset: contentOffset,
contentHideRegion: contentHideRegion,
contentGroupId: contentGroupId,
autoHide: autoHide,
builder: builder,
rightArrowToComplete: rightArrowToComplete,
contentScrollController: contentScrollController,
contentPhysics: contentPhysics,
contentDivider: contentDivider,
contentEmptyBuilder: contentEmptyBuilder,
contentLoadingBuilder: contentLoadingBuilder,
contentErrorBuilder: contentErrorBuilder,
key: key,
);