Skip to content

Commit 229f0b5

Browse files
authored
Merge pull request #174 from radvansky-tomas/typeahead/selection
Suggestion box should close on selection
2 parents aa8dea7 + f09de67 commit 229f0b5

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

packages/reactive_flutter_typeahead/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2+
## [2.1.2]
3+
4+
* FIX: Suggestion box was not closed on selection
5+
16
## [2.1.1]
27

38
* Support `reactive_forms: 17.x`

packages/reactive_flutter_typeahead/lib/src/reactive_typeahead.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ class ReactiveTypeAhead<T, V> extends ReactiveFormField<T, V> {
136136

137137
state._setFocusNode(focusNode);
138138
final controller = textEditingController ?? state._textController;
139+
final fieldSuggestionsController =
140+
suggestionsController ?? state._suggestionsController;
139141
if (field.value != null) {
140142
controller.text = stringify(field.value as V);
141143
}
@@ -147,6 +149,7 @@ class ReactiveTypeAhead<T, V> extends ReactiveFormField<T, V> {
147149
controller.text = stringify(value);
148150
field.didChange(value);
149151
onSuggestionSelected?.call(value);
152+
fieldSuggestionsController.close(); // close the suggestions box
150153
},
151154
builder: (context, controller, focusNode) {
152155
// Keep the selected value in the text field
@@ -186,7 +189,7 @@ class ReactiveTypeAhead<T, V> extends ReactiveFormField<T, V> {
186189
},
187190
decorationBuilder: decorationBuilder,
188191
debounceDuration: debounceDuration,
189-
suggestionsController: suggestionsController,
192+
suggestionsController: fieldSuggestionsController,
190193
loadingBuilder: loadingBuilder,
191194
emptyBuilder: emptyBuilder,
192195
errorBuilder: errorBuilder,
@@ -217,6 +220,8 @@ class ReactiveTypeAhead<T, V> extends ReactiveFormField<T, V> {
217220

218221
class _ReactiveTypeaheadState<T, V> extends ReactiveFormFieldState<T, V> {
219222
late TextEditingController _textController;
223+
late SuggestionsController<V> _suggestionsController;
224+
220225
FocusNode? _focusNode;
221226
late FocusController _focusController;
222227

@@ -226,6 +231,7 @@ class _ReactiveTypeaheadState<T, V> extends ReactiveFormFieldState<T, V> {
226231
@override
227232
void initState() {
228233
super.initState();
234+
_suggestionsController = SuggestionsController<V>();
229235

230236
final initialValue = value;
231237
_textController = TextEditingController(

packages/reactive_flutter_typeahead/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: reactive_flutter_typeahead
22
description: Wrapper around flutter_typeahead to use with reactive_forms.
3-
version: 2.1.1
3+
version: 2.1.2
44
repository: https://github.com/artflutter/reactive_forms_widgets/tree/master/packages/reactive_flutter_typeahead
55
issue_tracker: https://github.com/artflutter/reactive_forms_widgets/issues
66

0 commit comments

Comments
 (0)