flutter_multiselect_plus 1.1.3 copy "flutter_multiselect_plus: ^1.1.3" to clipboard
flutter_multiselect_plus: ^1.1.3 copied to clipboard

A highly customizable multiselect dropdown for Flutter with search, select all, and custom styling.

Flutter Multiselect Plus #

A highly customizable, searchable multiselect dropdown for Flutter. Effortlessly handle multiple or single selections with support for generic types, "Select All" logic, and professional overlay UI.

📸 Previews #

Multi-Select Mode Single-Select Mode
Multi Single
Search Functionality Max Selection Limit
Search Limit

🚀 Key Features #

  • Modern Overlay UI: No more boring dialogs. The menu floats over your UI and stays anchored to the field.
  • Multi & Single Select: Support for both modes with automatic UI switching (Checkbox vs Radio).
  • Generic Type Support: Use with Strings, Integers, or custom Data Models.
  • Searchable with Debounce: Built-in search bar with a 300ms delay for high-performance filtering.
  • Smart Positioning: Automatically detects screen boundaries and opens upwards if there's no space below.
  • Icon Support: Add leading icons to your selection items for a better UX.
  • Fully Customizable: Deeply customize colors, text styles, chip decorations, and the "Done" action button.
  • Dark Mode Ready: Automatically integrates with your app's ThemeData.

📦 Installation #

Add this to your pubspec.yaml:

dependencies:
  flutter_multiselect_plus: ^1.1.3

🛠 Usage #

Multi-Select Example #

@override
Widget build(BuildContext context) {
  return Scaffold(
      body: MultiSelectDropdown<String>(
  items: [
    MultiSelectOption(value: 'dart', label: 'Dart', icon: Icons.code),
    MultiSelectOption(value: 'flutter', label: 'Flutter', icon: Icons.flutter_dash),
  ],
  onSelectionChanged: (List<String> selectedValues) {
    print(selectedValues);
  },
      ));
}      

Single-Select Example #

@override
Widget build(BuildContext context) {
  return Scaffold(
      body:
      MultiSelectDropdown<int>(
        isSingleSelect: true,
        items: [
          MultiSelectOption(value: 1, label: 'High Priority'),
          MultiSelectOption(value: 2, label: 'Low Priority'),
        ],
        onSelectionChanged: (List<int> selectedValues) {
          print(selectedValues);
        },
      ));
}

🎨 Customization parameters #

Parameter Description
isSingleSelect Toggle between Multi and Single selection modes.
dropdownHeight Set the maximum height for the dropdown menu.
selectedItemColor The color used for checkboxes, radio buttons, and active icons.
onMaxSelectionLimitReached Callback triggered when the user tries to select more than maxSelection.
doneTextStyle Custom styling for the "Done" action button.
showSearch Show or hide the search bar.
sortByLabel Alphabetically sort items by their label.

📝 License #

This project is licensed under the BSD-3-Clause License - see the LICENSE file for details.

3
likes
160
points
72
downloads
screenshot

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A highly customizable multiselect dropdown for Flutter with search, select all, and custom styling.

Repository (GitHub)
View/report issues

Topics

#dropdown #multiselect #select #ui #form

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on flutter_multiselect_plus