Lets users toggle a specific filter.
class SearchToggleFilter extends StatelessWidget { const SearchToggleFilter( this.filterState, this.groupID, this.filter, this.label, {super.key}); final FilterState filterState; final FilterGroupID groupID; final Filter filter; final String label; @override Widget build(BuildContext context) { return StreamBuilder( stream: filterState.filters, builder: (context, snapshot) { final filters = snapshot.hasData ? snapshot.data! : StatelessFilters(); final filterGroups = filters.toFilterGroups().expand((group) => group); return FilterChip( label: Text(label), onSelected: (selected) => selected ? filterState.add(groupID, {filter}) : filterState.remove(groupID, {filter}), selected: filterGroups.contains(filter), ); }); } }
Was this page helpful?