v0.0.6
selectable_draggable_listbox
Listbox with multiselect, drag & drop between lists, and reorder built in.
26Likes 1930-day downloads150Pub points
AndroidiOSmacOSWindowsLinux
holotrek/selectable_draggable_listbox open-source repository details.
English project snapshot. Visit GitHub for the latest content.
Listbox with multiselect, drag & drop between lists, and reorder built in.
flutter pub add selectable_draggable_listbox -or-pubspec.yaml and then run flutter pub get:dependencies:
selectable_draggable_listbox: ^latest_version
import 'package:selectable_draggable_listbox/selectable_draggable_listbox.dart';
// Create your list and transform it to track selected items (list can be complex objects instead):
final myList = ['Apples','Cheese','Bread','Milk'].forListbox().toList();
// Create the listbox widget
return Listbox(
items: myList,
itemTemplate: (context, eventManager, index, item, onSelect) {
// Define the template used for each listitem
return SimpleListboxItem(
key: Key('$index'), // Key is required for reordering
item: item,
label: item.data,
eventManager: eventManager,
onSelect: onSelect,
);
},
onSelect: (itemsSelected) {
// React to items selected
// Note: (value of isSelected is not set automatically by Listbox,
// due to not knowing how your state is handled)
setState(() {
for (var item in myList) {
item.isSelected = itemsSelected.contains(item);
}
});
},
onReorder: (oldIndex, newIndex) {
// React to item reordered
setState(() {
// Note: this is an extension provided by the package
myList.move(oldIndex, newIndex);
});
},
);
For more info on additional features like Drag & Drop and Customizable Templates, see examples and API:
Dependency list 4 items
^1.18.0{"sdk":"flutter"}{"sdk":"flutter"}^2.0.0Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗