AutoCompleteTextFieldState<T> constructor
AutoCompleteTextFieldState<T> (
- List<
T> suggestions, - StringCallback? textChanged,
- StringCallback? textSubmitted,
- ValueSetter<
bool> ? onFocusChanged, - InputEventCallback<
T> ? itemSubmitted, - AutoCompleteOverlayItemBuilder<
T> ? itemBuilder, - Comparator<
T> ? itemSorter, - Filter<
T> ? itemFilter, - int suggestionsAmount,
- bool submitOnSuggestionTap,
- bool clearOnSubmit,
- int minLength,
- List<
TextInputFormatter> ? inputFormatters, - TextCapitalization textCapitalization,
- InputDecoration decoration,
- TextStyle? style,
- TextInputType keyboardType,
- TextInputAction textInputAction,
- TextEditingController? controller,
- FocusNode? focusNode,
Implementation
AutoCompleteTextFieldState(
this.suggestions,
this.textChanged,
this.textSubmitted,
this.onFocusChanged,
this.itemSubmitted,
this.itemBuilder,
this.itemSorter,
this.itemFilter,
this.suggestionsAmount,
this.submitOnSuggestionTap,
this.clearOnSubmit,
this.minLength,
this.inputFormatters,
this.textCapitalization,
this.decoration,
this.style,
this.keyboardType,
this.textInputAction,
this.controller,
this.focusNode) {
textField = new TextField(
inputFormatters: inputFormatters,
textCapitalization: textCapitalization,
decoration: decoration,
style: style,
keyboardType: keyboardType,
focusNode: focusNode ?? new FocusNode(),
controller: controller ?? new TextEditingController(),
textInputAction: textInputAction,
onChanged: (newText) {
currentText = newText;
updateOverlay(newText);
if (textChanged != null) {
textChanged!(newText);
}
},
onTap: () {
updateOverlay(currentText);
},
onSubmitted: (submittedText) =>
triggerSubmitted(submittedText: submittedText),
);
if (this.controller != null) {
currentText = this.controller!.text;
}
textField!.focusNode!.addListener(() {
if (onFocusChanged != null) {
onFocusChanged!(textField!.focusNode!.hasFocus);
}
if (!textField!.focusNode!.hasFocus) {
filteredSuggestions = [];
updateOverlay();
} else if (!(currentText == "")) {
updateOverlay(currentText);
}
});
}