diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx index 6283d891f..95bed6280 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx @@ -339,11 +339,21 @@ export function DataTable( }); useEffect( function updateFilter() { - debouncedSetFilter( - tableState.searchValue, - tableState.useRegex, - tableState.columns, - ); + if (!dataSource.view.isFiltered) { + dataSource.view.setFilter( + computeDataTableFilter( + tableState.searchValue, + tableState.useRegex, + tableState.columns, + ), + ); + } else { + debouncedSetFilter( + tableState.searchValue, + tableState.useRegex, + tableState.columns, + ); + } }, // Important dep optimization: we don't want to recalc filters if just the width or visibility changes! // We pass entire state.columns to computeDataTableFilter, but only changes in the filter are a valid cause to compute a new filter function