AutoCompleteField<T> constructor

AutoCompleteField<T>({
  1. Key? key,
  2. required String label,
  3. required String notFoundMessage,
  4. String? initialValue,
  5. bool getImmediateSuggestions = false,
  6. @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,
  7. bool enabled = true,
  8. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  9. FormFieldSetter<String>? onSaved,
  10. FormFieldValidator<String>? validator,
  11. ErrorBuilder? errorBuilder,
  12. WidgetBuilder? noItemsFoundBuilder,
  13. WidgetBuilder? loadingBuilder,
  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. required SuggestionsCallback<T> suggestionsCallback,
  20. double suggestionsBoxVerticalOffset = 5.0,
  21. TextFieldConfiguration textFieldConfiguration = const TextFieldConfiguration(),
  22. AnimationTransitionBuilder? transitionBuilder,
  23. Duration animationDuration = const Duration(milliseconds: 500),
  24. double animationStart = 0.25,
  25. AxisDirection direction = AxisDirection.down,
  26. bool hideOnLoading = false,
  27. bool hideOnEmpty = false,
  28. bool hideOnError = false,
  29. bool hideSuggestionsOnKeyboardHide = true,
  30. bool keepSuggestionsOnLoading = true,
  31. bool keepSuggestionsOnSuggestionSelected = false,
  32. bool autoFlipDirection = false,
  33. bool hideKeyboard = false,
})

Creates a AutoCompleteField

Implementation

AutoCompleteField(
    {Key? key,
    required String label,
    required String notFoundMessage,
    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,
    FormFieldValidator<String>? validator,
    ErrorBuilder? errorBuilder,
    WidgetBuilder? noItemsFoundBuilder,
    WidgetBuilder? loadingBuilder,
    Duration debounceDuration: const Duration(milliseconds: 300),
    SuggestionsBoxDecoration suggestionsBoxDecoration:
        const SuggestionsBoxDecoration(),
    SuggestionsBoxController? suggestionsBoxController,
    required SuggestionSelectionCallback<T> onSuggestionSelected,
    required ItemBuilder<T> itemBuilder,
    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 keepSuggestionsOnLoading: true,
    bool keepSuggestionsOnSuggestionSelected: false,
    bool autoFlipDirection: false,
    bool hideKeyboard: false})
    : assert(
          initialValue == null || textFieldConfiguration.controller == null),
      super(
          key: key,
          onSaved: onSaved,
          validator: validator,
          initialValue: (initialValue ?? ''),
          enabled: enabled,
          autovalidateMode: autovalidateMode,
          builder: (FormFieldState<String> field) {
            final _TypeAheadFormFieldState state =
                field as _TypeAheadFormFieldState<dynamic>;

            return TypeAheadField(
                label: label,
                validator: validator,
                initialValue: initialValue,
                notFoundMessage: notFoundMessage,
                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,
                itemBuilder: itemBuilder,
                suggestionsCallback: suggestionsCallback,
                animationStart: animationStart,
                animationDuration: animationDuration,
                direction: direction,
                hideOnLoading: hideOnLoading,
                hideOnEmpty: hideOnEmpty,
                hideOnError: hideOnError,
                hideSuggestionsOnKeyboardHide: hideSuggestionsOnKeyboardHide,
                keepSuggestionsOnLoading: keepSuggestionsOnLoading,
                keepSuggestionsOnSuggestionSelected:
                    keepSuggestionsOnSuggestionSelected,
                autoFlipDirection: autoFlipDirection,
                hideKeyboard: hideKeyboard);
          });