What problem does it solve?
This Skill helps you implement reliable row filtering in TanStack Table v9 so users can narrow large datasets using column filters, a global search box, faceted filter UIs, and optional fuzzy matching.
Core Features & Use Cases
- Column filtering pipeline: Use
columnFilteringFeature with filteredRowModel (via createFilteredRowModel(filterFns)) to filter by per-column criteria stored in state.columnFilters.
- Global filtering pipeline: Use
globalFilteringFeature to filter across eligible columns using state.globalFilter and a configurable globalFilterFn (built-ins like includesString or custom ones).
- Faceted filtering: Use
columnFacetingFeature with createFacetedRowModel() plus createFacetedUniqueValues() and createFacetedMinMaxValues() to power “autocomplete” and range-style filter controls that reflect counts/min-max after current filtering.
- Fuzzy filtering: Add a custom
FilterFn backed by @tanstack/match-sorter-utils (with module augmentation for FilterFns and optional FilterMeta) to support typo-tolerant matching.
Quick Start
Set up filteredRowModel: createFilteredRowModel(filterFns) with columnFilteringFeature and globalFilteringFeature, then drive filtering through table.setColumnFilters([{ id, value }]) and table.setGlobalFilter(value) while choosing an appropriate globalFilterFn (such as includesString).