FAutocomplete constructor

FAutocomplete({
  1. required List<String> items,
  2. FAutocompleteStyle style(
    1. FAutocompleteStyle style
    )?,
  3. Widget? label,
  4. String? hint,
  5. Widget? description,
  6. TextMagnifierConfiguration? magnifierConfiguration,
  7. Object groupId = EditableText,
  8. FAutocompleteController? controller,
  9. FocusNode? focusNode,
  10. TextInputType? keyboardType,
  11. TextInputAction? textInputAction,
  12. TextCapitalization textCapitalization = TextCapitalization.none,
  13. TextAlign textAlign = TextAlign.start,
  14. TextAlignVertical? textAlignVertical,
  15. TextDirection? textDirection,
  16. VoidCallback? onTapHide,
  17. bool autofocus = false,
  18. WidgetStatesController? statesController,
  19. String obscuringCharacter = '•',
  20. bool obscureText = false,
  21. bool autocorrect = true,
  22. SmartDashesType? smartDashesType,
  23. SmartQuotesType? smartQuotesType,
  24. bool enableSuggestions = true,
  25. int? minLines,
  26. int? maxLines = 1,
  27. bool expands = false,
  28. bool readOnly = false,
  29. bool? showCursor,
  30. int? maxLength,
  31. MaxLengthEnforcement? maxLengthEnforcement,
  32. ValueChanged<String>? onChange,
  33. bool onTapAlwaysCalled = false,
  34. VoidCallback? onEditingComplete,
  35. ValueChanged<String>? onSubmit,
  36. AppPrivateCommandCallback? onAppPrivateCommand,
  37. List<TextInputFormatter>? inputFormatters,
  38. bool enabled = true,
  39. bool? ignorePointers,
  40. bool enableInteractiveSelection = true,
  41. TextSelectionControls? selectionControls,
  42. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  43. MouseCursor? mouseCursor,
  44. FTextFieldCounterBuilder? counterBuilder,
  45. ScrollPhysics? scrollPhysics,
  46. ScrollController? scrollController,
  47. Iterable<String>? autofillHints,
  48. String? restorationId,
  49. bool stylusHandwritingEnabled = true,
  50. bool enableIMEPersonalizedLearning = true,
  51. ContentInsertionConfiguration? contentInsertionConfiguration,
  52. EditableTextContextMenuBuilder? contextMenuBuilder,
  53. bool canRequestFocus = true,
  54. UndoHistoryController? undoController,
  55. SpellCheckConfiguration? spellCheckConfiguration,
  56. FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
  57. FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
  58. bool clearable(
    1. TextEditingValue value
    ) = _clearable,
  59. FormFieldSetter<String>? onSaved,
  60. VoidCallback? onReset,
  61. FormFieldValidator<String>? validator,
  62. String? initialText,
  63. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  64. String? forceErrorText,
  65. Widget errorBuilder(
    1. BuildContext context,
    2. String message
    ) = FFormFieldProperties.defaultErrorBuilder,
  66. AlignmentGeometry anchor = AlignmentDirectional.topStart,
  67. AlignmentGeometry fieldAnchor = AlignmentDirectional.bottomStart,
  68. FPortalConstraints popoverConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  69. FPortalSpacing spacing = const FPortalSpacing(4),
  70. Offset shift(
    1. Size size,
    2. FPortalChildBox childBox,
    3. FPortalBox portalBox
    ) = FPortalShift.flip,
  71. Offset offset = Offset.zero,
  72. FPopoverHideRegion hideRegion = FPopoverHideRegion.excludeChild,
  73. bool autoHide = true,
  74. FFieldBuilder<FAutocompleteStyle> builder = _builder,
  75. bool rightArrowToComplete = false,
  76. FutureOr<Iterable<String>> filter(
    1. String query
    )?,
  77. FAutoCompleteContentBuilder? contentBuilder,
  78. ScrollController? contentScrollController,
  79. ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
  80. FItemDivider contentDivider = FItemDivider.none,
  81. Widget contentEmptyBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentEmptyBuilder,
  82. Widget contentLoadingBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentLoadingBuilder,
  83. Widget contentErrorBuilder(
    1. BuildContext context,
    2. Object? error,
    3. StackTrace stackTrace
    )?,
  84. 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,
  FAutocompleteStyle Function(FAutocompleteStyle style)? style,
  Widget? label,
  String? hint,
  Widget? description,
  TextMagnifierConfiguration? magnifierConfiguration,
  Object groupId = EditableText,
  FAutocompleteController? controller,
  FocusNode? focusNode,
  TextInputType? keyboardType,
  TextInputAction? textInputAction,
  TextCapitalization textCapitalization = TextCapitalization.none,
  TextAlign textAlign = TextAlign.start,
  TextAlignVertical? textAlignVertical,
  TextDirection? textDirection,
  VoidCallback? onTapHide,
  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,
  ValueChanged<String>? onChange,
  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 = 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,
  String? initialText,
  AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  String? forceErrorText,
  Widget Function(BuildContext context, String message) errorBuilder = FFormFieldProperties.defaultErrorBuilder,
  AlignmentGeometry anchor = AlignmentDirectional.topStart,
  AlignmentGeometry fieldAnchor = AlignmentDirectional.bottomStart,
  FPortalConstraints popoverConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  FPortalSpacing spacing = const FPortalSpacing(4),
  Offset Function(Size size, FPortalChildBox childBox, FPortalBox portalBox) shift = FPortalShift.flip,
  Offset offset = Offset.zero,
  FPopoverHideRegion hideRegion = FPopoverHideRegion.excludeChild,
  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 = FItemDivider.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) FAutocompleteItem(value: value)],
       style: style,
       label: label,
       hint: hint,
       description: description,
       magnifierConfiguration: magnifierConfiguration,
       groupId: groupId,
       controller: controller,
       focusNode: focusNode,
       keyboardType: keyboardType,
       textInputAction: textInputAction,
       textCapitalization: textCapitalization,
       textAlign: textAlign,
       textAlignVertical: textAlignVertical,
       textDirection: textDirection,
       onTapHide: onTapHide,
       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,
       onChange: onChange,
       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,
       initialText: initialText,
       autovalidateMode: autovalidateMode,
       forceErrorText: forceErrorText,
       errorBuilder: errorBuilder,
       anchor: anchor,
       fieldAnchor: fieldAnchor,
       popoverConstraints: popoverConstraints,
       spacing: spacing,
       shift: shift,
       offset: offset,
       hideRegion: hideRegion,
       autoHide: autoHide,
       builder: builder,
       rightArrowToComplete: rightArrowToComplete,
       contentScrollController: contentScrollController,
       contentPhysics: contentPhysics,
       contentDivider: contentDivider,
       contentEmptyBuilder: contentEmptyBuilder,
       contentLoadingBuilder: contentLoadingBuilder,
       contentErrorBuilder: contentErrorBuilder,
       key: key,
     );