diff --git a/frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart b/frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart index 502faa9aa0..7a7aa25cad 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart @@ -32,9 +32,22 @@ class SingleSelectOptionFilterDelegateImpl ) { final selectOptionIds = Set.from(currentOptionIds); - if (condition == SelectOptionFilterConditionPB.OptionIsNot || - selectOptionIds.isEmpty) { - selectOptionIds.add(optionId); + switch (condition) { + case SelectOptionFilterConditionPB.OptionIs: + if (selectOptionIds.isNotEmpty) { + selectOptionIds.clear(); + } + selectOptionIds.add(optionId); + break; + case SelectOptionFilterConditionPB.OptionIsNot: + selectOptionIds.add(optionId); + break; + case SelectOptionFilterConditionPB.OptionIsEmpty || + SelectOptionFilterConditionPB.OptionIsNotEmpty: + selectOptionIds.clear(); + break; + default: + throw UnimplementedError(); } return selectOptionIds;