filterItems method
Implementation
void filterItems(
List<MenuItem> allItems,
String query, {
MenuFilterCallback? filterCallback,
}) {
if (query.isEmpty) {
value = value.copyWith(filteredItems: allItems, clearHighlight: true);
_overlay?.markNeedsBuild();
return;
}
final List<MenuItem> filtered;
if (filterCallback != null) {
filtered = filterCallback(allItems, query);
} else {
final q = query.toLowerCase();
filtered = allItems
.where((item) => item.label.toLowerCase().contains(q))
.toList();
}
value = value.copyWith(filteredItems: filtered, clearHighlight: true);
_overlay?.markNeedsBuild();
}