TypeAheadFormField<T> constructor

TypeAheadFormField<T>({
  1. Key? key,
  2. String? initialValue,
  3. bool getImmediateSuggestions = false,
  4. @Deprecated('Use autovalidateMode parameter which provides more specific ' 'behavior related to auto validation. ' 'This feature was deprecated after Flutter v1.19.0.') bool autovalidate = false,
  5. bool enabled = true,
  6. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  7. FormFieldSetter<String>? onSaved,
  8. void onReset()?,
  9. FormFieldValidator<String>? validator,
  10. ErrorBuilder? errorBuilder,
  11. WidgetBuilder? noItemsFoundBuilder,
  12. WidgetBuilder? loadingBuilder,
  13. void onSuggestionsBoxToggle(
    1. bool
    )?,
  14. Duration debounceDuration = const Duration(milliseconds: 300),
  15. SuggestionsBoxDecoration suggestionsBoxDecoration = const SuggestionsBoxDecoration(),
  16. SuggestionsBoxController? suggestionsBoxController,
  17. required SuggestionSelectionCallback<T> onSuggestionSelected,
  18. required ItemBuilder<T> itemBuilder,
  19. IndexedWidgetBuilder? itemSeparatorBuilder,
  20. LayoutArchitecture? layoutArchitecture,
  21. required SuggestionsCallback<T> suggestionsCallback,
  22. double suggestionsBoxVerticalOffset = 5.0,
  23. TextFieldConfiguration textFieldConfiguration = const TextFieldConfiguration(),
  24. AnimationTransitionBuilder? transitionBuilder,
  25. Duration animationDuration = const Duration(milliseconds: 500),
  26. double animationStart = 0.25,
  27. AxisDirection direction = AxisDirection.down,
  28. bool hideOnLoading = false,
  29. bool hideOnEmpty = false,
  30. bool hideOnError = false,
  31. bool hideSuggestionsOnKeyboardHide = true,
  32. bool intercepting = false,
  33. bool keepSuggestionsOnLoading = true,
  34. bool keepSuggestionsOnSuggestionSelected = false,
  35. bool autoFlipDirection = false,
  36. bool autoFlipListDirection = true,
  37. double autoFlipMinHeight = 64.0,
  38. bool hideKeyboard = false,
  39. int minCharsForSuggestions = 0,
  40. bool hideKeyboardOnDrag = false,
  41. bool ignoreAccessibleNavigation = false,
})

Creates a TypeAheadFormField

Implementation

TypeAheadFormField({
  Key? key,
  String? initialValue,
  bool getImmediateSuggestions = false,
  @Deprecated('Use autovalidateMode parameter which provides more specific '
      'behavior related to auto validation. '
      'This feature was deprecated after Flutter v1.19.0.')
  bool autovalidate = false,
  bool enabled = true,
  AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  FormFieldSetter<String>? onSaved,
  this.onReset,
  FormFieldValidator<String>? validator,
  ErrorBuilder? errorBuilder,
  WidgetBuilder? noItemsFoundBuilder,
  WidgetBuilder? loadingBuilder,
  void Function(bool)? onSuggestionsBoxToggle,
  Duration debounceDuration = const Duration(milliseconds: 300),
  SuggestionsBoxDecoration suggestionsBoxDecoration =
      const SuggestionsBoxDecoration(),
  SuggestionsBoxController? suggestionsBoxController,
  required SuggestionSelectionCallback<T> onSuggestionSelected,
  required ItemBuilder<T> itemBuilder,
  IndexedWidgetBuilder? itemSeparatorBuilder,
  LayoutArchitecture? layoutArchitecture,
  required SuggestionsCallback<T> suggestionsCallback,
  double suggestionsBoxVerticalOffset = 5.0,
  this.textFieldConfiguration = const TextFieldConfiguration(),
  AnimationTransitionBuilder? transitionBuilder,
  Duration animationDuration = const Duration(milliseconds: 500),
  double animationStart = 0.25,
  AxisDirection direction = AxisDirection.down,
  bool hideOnLoading = false,
  bool hideOnEmpty = false,
  bool hideOnError = false,
  bool hideSuggestionsOnKeyboardHide = true,
  bool intercepting = false,
  bool keepSuggestionsOnLoading = true,
  bool keepSuggestionsOnSuggestionSelected = false,
  bool autoFlipDirection = false,
  bool autoFlipListDirection = true,
  double autoFlipMinHeight = 64.0,
  bool hideKeyboard = false,
  int minCharsForSuggestions = 0,
  bool hideKeyboardOnDrag = false,
  bool ignoreAccessibleNavigation = false,
})  : assert(
          initialValue == null || textFieldConfiguration.controller == null),
      assert(minCharsForSuggestions >= 0),
      super(
          key: key,
          onSaved: onSaved,
          validator: validator,
          initialValue: textFieldConfiguration.controller != null
              ? textFieldConfiguration.controller!.text
              : (initialValue ?? ''),
          enabled: enabled,
          autovalidateMode: autovalidateMode,
          builder: (FormFieldState<String> field) {
            final _TypeAheadFormFieldState state =
                field as _TypeAheadFormFieldState<dynamic>;

            return TypeAheadField(
              getImmediateSuggestions: getImmediateSuggestions,
              transitionBuilder: transitionBuilder,
              errorBuilder: errorBuilder,
              noItemsFoundBuilder: noItemsFoundBuilder,
              loadingBuilder: loadingBuilder,
              debounceDuration: debounceDuration,
              suggestionsBoxDecoration: suggestionsBoxDecoration,
              suggestionsBoxController: suggestionsBoxController,
              textFieldConfiguration: textFieldConfiguration.copyWith(
                decoration: textFieldConfiguration.decoration
                    .copyWith(errorText: state.errorText),
                onChanged: (text) {
                  state.didChange(text);
                  textFieldConfiguration.onChanged?.call(text);
                },
                controller: state._effectiveController,
              ),
              suggestionsBoxVerticalOffset: suggestionsBoxVerticalOffset,
              onSuggestionSelected: onSuggestionSelected,
              onSuggestionsBoxToggle: onSuggestionsBoxToggle,
              itemBuilder: itemBuilder,
              itemSeparatorBuilder: itemSeparatorBuilder,
              layoutArchitecture: layoutArchitecture,
              suggestionsCallback: suggestionsCallback,
              animationStart: animationStart,
              animationDuration: animationDuration,
              direction: direction,
              hideOnLoading: hideOnLoading,
              hideOnEmpty: hideOnEmpty,
              hideOnError: hideOnError,
              hideSuggestionsOnKeyboardHide: hideSuggestionsOnKeyboardHide,
              keepSuggestionsOnLoading: keepSuggestionsOnLoading,
              keepSuggestionsOnSuggestionSelected:
                  keepSuggestionsOnSuggestionSelected,
              intercepting: intercepting,
              autoFlipDirection: autoFlipDirection,
              autoFlipListDirection: autoFlipListDirection,
              autoFlipMinHeight: autoFlipMinHeight,
              hideKeyboard: hideKeyboard,
              minCharsForSuggestions: minCharsForSuggestions,
              hideKeyboardOnDrag: hideKeyboardOnDrag,
              ignoreAccessibleNavigation: ignoreAccessibleNavigation,
            );
          });