You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current table search in Filament fires automatically as the user types (using a debounce delay). While this works well in most cases, it can become problematic in scenarios such as:
Large datasets — each keystroke triggers a potentially expensive query, causing slowdowns or timeouts.
Slow connections or servers — the search may execute multiple times before the user finishes typing, producing inconsistent results.
Slow typists — users who pause between characters may unintentionally trigger the search mid-word, leading to confusing intermediate results.
These issues affect UX and server performance, especially in production applications with thousands of records.
Proposed solution
Add an optional Apply Search button next to the table search input — similar to how table filters already work.
As a reference: filters in Filament used to apply changes automatically on input, and now they have a dedicated "Apply filters" button. The same pattern could be optionally brought to the search input.
The behavior would be opt-in, configurable at the table level:
When enabled, the search would only execute when the user clicks the button (or presses Enter), rather than firing automatically on each keystroke.
Why opt-in?
Not all tables need this. For small datasets, the current auto-search is perfectly fine. Making it opt-in keeps the default behavior unchanged and only enables the button for tables where it makes sense. This is consistent with how Filament handles similar patterns across the framework.
Alternatives considered
Increasing the debounce delay — partially helps but does not fully solve the problem for slow connections or slow typists.
Manual workarounds at the Livewire/Alpine level — possible but hacky and not maintainable across Filament upgrades.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
The current table search in Filament fires automatically as the user types (using a debounce delay). While this works well in most cases, it can become problematic in scenarios such as:
These issues affect UX and server performance, especially in production applications with thousands of records.
Proposed solution
Add an optional Apply Search button next to the table search input — similar to how table filters already work.
As a reference: filters in Filament used to apply changes automatically on input, and now they have a dedicated "Apply filters" button. The same pattern could be optionally brought to the search input.
The behavior would be opt-in, configurable at the table level:
When enabled, the search would only execute when the user clicks the button (or presses Enter), rather than firing automatically on each keystroke.
Why opt-in?
Not all tables need this. For small datasets, the current auto-search is perfectly fine. Making it opt-in keeps the default behavior unchanged and only enables the button for tables where it makes sense. This is consistent with how Filament handles similar patterns across the framework.
Alternatives considered
Beta Was this translation helpful? Give feedback.
All reactions