Multi-select Filter Indicator: How to remove a single selection (not all) when clicking "×"?
What I am trying to do:
I'm using a MultiSelect inside a Filter::make() form to allow filtering records by multiple services. Each selected service shows as a separate indicator, and I want to allow users to remove only one of those selected services by clicking "×" on the corresponding indicator, without clearing the whole filter.
What I did so far: I followed Filament's indicateUsing() approach to return multiple indicators like this:
return \Filament\Tables\Filters\Indicator::make($service->service_name) ->removeField('services'); // Tried also ->removeField('services', $serviceId) but same result })->filter()->values()->all(); });
My issue: The indicators display correctly, and I see one per selected service. But when I click "×" on any indicator, it clears the
entire services filter, instead of just removing the one I clicked.
Expected behavior: Clicking "×" on any service indicator should just remove that one service from the MultiSelect field, not clear all
selections.
Any guidance on whether this is possible natively, or do I need to build a custom filter/modal?