TypeAheadFormField<T> constructor
TypeAheadFormField<T> ({
- 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, - 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,
- TextFieldConfiguration 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,
- int minCharsForSuggestions = 0,
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,
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,
int minCharsForSuggestions: 0})
: 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,
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,
minCharsForSuggestions: minCharsForSuggestions,
);
});