From 8f68a805dd524db516051ec2c2321d8da2dede70 Mon Sep 17 00:00:00 2001 From: Ahmed Elsayed Date: Sat, 1 Jun 2024 05:43:51 +0300 Subject: [PATCH] Set initial scroll offset to zero if the selected item doesn't exist in search result --- packages/dropdown_button2/lib/src/dropdown_route.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/dropdown_button2/lib/src/dropdown_route.dart b/packages/dropdown_button2/lib/src/dropdown_route.dart index 3801492..b1c7d26 100644 --- a/packages/dropdown_button2/lib/src/dropdown_route.dart +++ b/packages/dropdown_button2/lib/src/dropdown_route.dart @@ -126,7 +126,12 @@ class _DropdownRoute extends PopupRoute<_DropdownRouteResult> { itemHeights.length, ); if (searchData?.searchController?.text case final searchText?) { - offset += _getSearchItemsHeight(index, searchText); + final searchMatchFn = + searchData?.searchMatchFn ?? _defaultSearchMatchFn(); + final selectedItemExist = searchMatchFn(items[index], searchText); + if (selectedItemExist) { + offset += _getSearchItemsHeight(index, searchText); + } } else { for (int i = 0; i < index; i++) { offset += itemHeights[i];