dropdown_search
Simple, reactive and highly customizable Flutter Dropdown with a lot of features (search, popups platform, async/sync,...) with multi mode like menu, dialog, bottomSheet and etc.
7.0.0
179K downloads/mo
#895 most downloaded on pub.dev
salim-lachdhaf/dropdown_search
What this package is like to depend on
Last release 4 months ago
03 Apr 2026
Release timing varies
gaps range from 9 days to 1.5 years
Most releases are documented
notes for 57 of 64 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
79 releases · first in 2020
4 releases in the last 12 months
see the full history below
Release timeline
79 releases · Mar 2020 to Apr 2026Releases
latest 60 of 79-
7.0.003 Apr 2026Release notes
Open source →-
New Feature:
-
Add adaptive platform Ui feature:
Material,CupertinoandAdaptive -
Add
autocompletenew popup mode -
add
transitionBuilder,transitionDuration,reverseTransitionDurationtomenuPropstransitionDuration: Duration(milliseconds: 500), transitionBuilder: (context, animation, secondaryAnimation, child) { return SlideTransition( position: Tween<Offset>( begin: const Offset(1, 0), end: Offset.zero, ).animate(animation), child: child, ); } -
add new property
animationBuildertoDropdownButtonProps, examples of uses
/* Example 1: animation with only one icon ("iconClosed") like rotation */ animationBuilder: (child, isOpen) { return AnimatedRotation( turns: isOpen ? .5 : 0, duration: Duration(milliseconds: 400), child: child, ); }/* Example 2 : animation with two icons like switch */ dropdownButtonProps: DropdownButtonProps( iconClosed: Icon(Icons.arrow_drop_down), iconOpened: Icon(Icons.arrow_drop_up), animationBuilder: (child, isOpen) { return AnimatedSwitcher( switchOutCurve: Curves.easeIn, switchInCurve: Curves.easeIn, duration: Duration(milliseconds: 400), child: child, ); }, )-
add new property
layoutDelegatetoMenuPropsandCupertinoMenuProps, you can extendSingleChildLayoutDelegateto create your own positioning strategyexample of use
layoutDelegate: (context, padding, position) => _PopupMenuRouteLayout(context, position) class _PopupMenuRouteLayout extends SingleChildLayoutDelegate { final RelativeRect position; final BuildContext context; const _PopupMenuRouteLayout(this.context, this.position); @override BoxConstraints getConstraintsForChild(BoxConstraints constraints) { // pick any properties from the context to calculate proper constraints final mediaQuery = MediaQuery.of(context); final keyBoardHeight = mediaQuery.viewInsets.bottom; final safeArea = mediaQuery.padding; return BoxConstraints(/* calculate new constraints based on your needs */); } @override Offset getPositionForChild(Size size, Size childSize) { // The position where the child should be placed. } @override bool shouldRelayout(covariant SingleChildLayoutDelegate oldDelegate) => false; } -
add
SuggestionsPropstopopupProps -
add
builderproperty forSuggestionsPropsto override the hole suggestion widget -
add properties to
scrollViewandwrapwidget for selected items in multiSelection mode -
Chipsare fully customizable in multiSelection and suggestions -
replace
paddinginsearchFieldPropswithcontainerBuilder -
add
onDisplayedcallback topopupProps -
add
errorBuilderforInfiniteScrollProps -
add possibility to reload item using
myGlobalKey.currentState?.reloadItems(String filter)ormyGlobalKey.currentState?.loadMoreItems(String filter, int skip) -
add
textPropsto have the ability to pass default text props through the context toselectedItem -
add new property for
TextFieldProps -
add the ability to listen to focus changes using
onFocusChange -
add new callbacks
onBeforeClearandonClearto handle dropdown clear button action
-
-
Breaking changes
- change
onChangedtoonSelected PopupPropsMultiSelectionchanged toMultiSelectionPopupPropssuggestedItemsPropsis placed insideSuggestionsPropsSemanticsis removed from searchBox, to add it usecontainerBuilderlike this you have full access to Semantic properties.
- change
-
Fix bugs:
BottomSheetbackground color 726
-
-
7.0.0-pre703 Apr 2026 pre-releaseNothing published for this version
-
7.0.0-pre629 Aug 2025 pre-releaseNothing published for this version
-
7.0.0-pre529 Aug 2025 pre-releaseNothing published for this version
-
7.0.0-pre416 Feb 2025 pre-releaseNothing published for this version
-
7.0.0-pre316 Feb 2025 pre-releaseNothing published for this version
-
7.0.0-pre212 Dec 2024 pre-releaseNothing published for this version
-
7.0.0-pre107 Dec 2024 pre-releaseNothing published for this version
-
7.0.0-pre07 Dec 2024 pre-releaseNothing published for this version
-
6.0.4-pre14 Sep 2024 pre-releaseNothing published for this version
-
6.0.3-pre13 Sep 2024 pre-releaseNothing published for this version
-
6.0.216 Jan 2025Nothing published for this version
-
6.0.2-pre13 Sep 2024 pre-releaseNothing published for this version
-
6.0.121 Sep 2024 -
6.0.1-pre13 Sep 2024 pre-releaseNothing published for this version
-
6.0.014 Sep 2024Release notes
Open source →-
New features:
- infinite list / lazy loading
- add click properties to the dropdown
- add custom mode
- dropdown button can be changed depending on state (opened/closed)
- add property
cacheItemsfor popupProps - add property
onItemLoaded - adding new properties for a lot of widget (scrollBar, modal, bottomSheet,...)
- add to possibility to change position of
clearButtonanddropdownButtonusingdirectionproperty
-
Breaking changes :
AsyncItemsanditemsare replaced byitems:(filter, infiniteScrollProps)- Add
isDisabledtoitemBuilderparams FavoriteItemsrenamed toSuggestedItemsisFilterOnlinerenamed todisableFilterselectionWidgetrenamed tocheckBoxBuilderdropdownDecoratorPropsrenamed todecoratorPropsclearButtonPropsanddropdownButtonPropsare placed tosuffixProps
-
Fix bugs:
-
-
6.0.0-pre11 Sep 2024 pre-releaseNothing published for this version
-
5.0.626 Feb 2023 -
5.0.505 Dec 2022Nothing published for this version
-
5.0.404 Dec 2022 -
5.0.322 Sep 2022 -
5.0.204 Jun 2022 -
5.0.129 May 2022 -
5.0.029 May 2022Release notes
Open source →- Replace ScrollBar with RawScrollBar (adding new properties)
- move
showClearButtonintoClearButtonProps - move all dropdownDecoration props into
dropdownDecoratorProps - replace
IconButtonPropswith DropdownButtonProps andClearButtonPropsforclearButtonPropsand dropdownButtonProps - add a full custom container for the pop
containerBuildertopopup_props - add
isVisibleprop toDropdownButtonProps - change
validationMultiSelectionWidgettovalidationWidgetBuilder
-
4.0.117 May 2022 -
4.0.016 May 2022Release notes
Open source →-
Breaking changes:
- onFind to AsyncItem
- isFilteredOnline to isFilterOnline
- replace all popup customization with popupProps
- change default mode to MENU
- remove 'dropdownBuilderSupportsNullItem' because now we support nullSafety
- remove safeArea settings, the popup should always shown in safeArea
-
update readme.md
-
improve menu mode
-
improve dialog mode
-
fix large text in chips in multiSelection mode
-
fix bug 84
-
add new mode BOTTOM_SHEET
-
support Flutter v3
-
-
3.0.119 Apr 2022Release notes
Open source →- breaking changes:
- remove
hintandlabelproperties, usedropdownSearchDecorationinstead - remove
showAsSuffixIconsproperty, now always are as suffixIcon - replace '
clearButtonSplashRadius' and 'clearButtonBuilder' into one property 'IconButtonProps' - replace '
dropdownButtonSplashRadius' and 'dropdownButtonBuilder' into one property 'IconButtonProps'
- remove
- fix issue 380
- breaking changes:
-
3.0.019 Apr 2022Nothing published for this version
-
2.0.114 Nov 2021 -
2.0.024 Oct 2021Nothing published for this version
-
1.0.417 Oct 2021 -
1.0.302 Oct 2021Release notes
Open source →- new feature : change searchBox query programmatically using EditTextController
- fix some bugs
-
1.0.202 Oct 2021Nothing published for this version
-
1.0.102 Oct 2021Nothing published for this version
-
1.0.005 Sep 2021Release notes
Open source →- new feature : multiSelection mode
- breaking changes :
-
searchBoxDecoration removed: replaced by searchFieldProps _ autoFocusSearchBox removed : replaced by searchFieldProps _ searchBoxStyle removed : replaced by searchFieldProps _ searchBoxController removed : replaced by searchFieldProps
- showSelectedItem replaced by showSelectedItems
-
-
1.0.0-beta211 Jul 2021 pre-releaseNothing published for this version
-
1.0.0-beta05 Jul 2021 pre-releaseNothing published for this version
-
0.6.313 Jun 2021 -
0.6.213 Jun 2021Release notes
Open source →- prop that passes all props to search field
- fix issues 169
- fix issues 163
- new Feature "dropdown BaseStyle" 178
- new Feature "popup scrollView"
- Ignore pointers in itemBuilder & cursor in web
- Added property to customize DropdownButton Splash Radius
- added property to set up the splash radius for clear button and for dropdown button in dropdown_search
- @thanks Vasiliy
-
0.6.102 May 2021 -
0.5.024 Mar 2021Release notes
Open source → -
0.4.922 Feb 2021Release notes
Open source →- fix bug filterOnline #116
- Add onBeforeChange CallBack @thanks Vasiliy
- Add onPopupDismiss CallBack @thanks Vasiliy
- search delay feature @thanks Vasiliy
- BottomSheet scrolling behavior improvement @thanks Vasiliy
- fix bug update selectedItem
- added an ability to override the clear and dropdown icon buttons with builder
suffixIconsadds an ability to switch icon management through thesuffixIconofInputDecoration
-
0.4.820 Nov 2020Release notes
Open source →- fix bug caused by last flutter SDK breaking changes #69
- Add a getter for the selected item
- Add a getter to check if the DropDownSearch is focused or not
-
0.4.630 Oct 2020 -
0.4.521 Oct 2020Release notes
Open source →- replace autoValidate by autoValidateMode
- pass searchWord to loadingBuilder/emptyBuilder/errorBuilder
- add searchBoxController to be used as default filter for example
-
0.4.406 Jul 2020 -
0.4.304 Jun 2020Release notes
Open source →- remove
dropDownSearchDecorationduplication - add
popupBarrierColorfeature
- remove
-
0.4.222 May 2020 -
0.4.117 May 2020 -
0.4.011 May 2020 -
0.3.911 May 2020 -
0.3.811 May 2020 -
0.3.710 May 2020 -
0.3.610 May 2020 -
0.3.510 May 2020 -
0.3.410 May 2020Release notes
Open source →- Integrate material design
- make DropdownSearch as item of a form
- manage validation form
-
0.3.301 May 2020Nothing published for this version
-
0.3.201 May 2020 -
0.3.129 Apr 2020 -
0.3.029 Apr 2020