useFilter
Reactive array filtering composable with multiple filter modes and strategies.Overview
Filters arrays based on query strings with configurable matching strategies. Supports case-insensitive filtering, custom filter functions, and reactive updates. Key Features:- Four filter modes:
some,every,union,intersection - Case-insensitive filtering by default
- Custom filter functions
- Reactive updates when query or items change
- Context-based dependency injection support
- Perfect for search, multi-criteria filtering
- Works with primitives and objects
Functions
createFilter
Create a filter context with pre-configured options.createFilterContext
Create a filter context with dependency injection support.useFilter
Returns the current filter context from dependency injection.Types
Parameters
Configuration options for the filter.
Custom filter function. Overrides default filter logic.
Object properties to filter on. If not provided, filters all values.
Filter matching strategy:
some: At least one field matches queryevery: All fields match queryunion: At least one query matches (OR logic)intersection: All queries match (AND logic)
Namespace for dependency injection (context functions only).
Filter Modes
some (default)
At least one field contains the query:every
All specified fields contain the query:union
At least one query matches (OR logic):intersection
All queries must be present (AND logic):Basic Usage
Simple Array Filtering
Object Array Filtering
Advanced Usage
Multi-Tag Search
Custom Filter Function
Reactive Query
Dependency Injection
Type Safety
Performance
Notes
- Default mode is
some(at least one field matches) - Filtering is case-insensitive by default
- Empty or whitespace-only queries return all items
- Numeric values are converted to strings for matching
nullandundefinedqueries return all items- When no keys specified, filters all object values
- Custom filter functions override all default behavior
- Union/intersection modes use optimized string joining
Related
- usePagination - Pagination utilities
- createDataTable - Uses filtering internally
- toArray - Array normalization
- createContext - Dependency injection