diff --git a/lib/widgets/exercises/autocompleter.dart b/lib/widgets/exercises/autocompleter.dart index f0b9d513e..133deb035 100644 --- a/lib/widgets/exercises/autocompleter.dart +++ b/lib/widgets/exercises/autocompleter.dart @@ -30,6 +30,7 @@ class _ExerciseAutocompleterState extends State { children: [ TypeAheadField( key: const Key('field-typeahead'), + debounceDuration: const Duration(milliseconds: 500), decorationBuilder: (context, child) { return Material( type: MaterialType.card, diff --git a/lib/widgets/nutrition/widgets.dart b/lib/widgets/nutrition/widgets.dart index 730c97870..74910639d 100644 --- a/lib/widgets/nutrition/widgets.dart +++ b/lib/widgets/nutrition/widgets.dart @@ -113,6 +113,7 @@ class _IngredientTypeaheadState extends State { children: [ TypeAheadField( controller: widget._ingredientController, + debounceDuration: const Duration(milliseconds: 500), builder: (context, controller, focusNode) { return TextFormField( controller: controller, @@ -124,11 +125,6 @@ class _IngredientTypeaheadState extends State { } return null; }, - onChanged: (value) { - widget.updateSearchQuery(value); - // unselect to start a new search - widget.unSelectIngredient(); - }, decoration: InputDecoration( prefixIcon: const Icon(Icons.search), labelText: AppLocalizations.of(context).searchIngredient, @@ -142,6 +138,10 @@ class _IngredientTypeaheadState extends State { return null; } + widget.updateSearchQuery(pattern); + // unselect to start a new search + widget.unSelectIngredient(); + return Provider.of(context, listen: false).searchIngredient( pattern, languageCode: Localizations.localeOf(context).languageCode,