TypeAheadFormField<T> constructor
Creates a TypeAheadFormField
Implementation
TypeAheadFormField(
{Key key,
String initialValue,
bool getImmediateSuggestions: false,
bool autovalidate: false,
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})
: assert(
initialValue == null || textFieldConfiguration.controller == null),
super(
key: key,
onSaved: onSaved,
validator: validator,
autovalidate: autovalidate,
initialValue: textFieldConfiguration.controller != null
? textFieldConfiguration.controller.text
: (initialValue ?? ''),
builder: (FormFieldState<String> field) {
final _TypeAheadFormFieldState state = field;
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(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,
);
});