Skip to main content
Back to Blog
search components data ux

Integrated Search Component

Swifty Team Mar 2, 2026 3 min read

Search is one of those things users expect to just work. Type something in a search box, and the list updates. The expectation is simple, but the implementation often isn't: the search input needs to be wired to the data source, results need to update as you type, and the experience needs to be fast enough to feel responsive.

The integrated search component handles all of this automatically.

Search Any List

Any list component can be made searchable by enabling the search option in the builder. A search input appears above the list. As the user types, the list updates to show only matching records. No additional configuration required.

The search operates across the fields marked as searchable in the object's field definitions. By default, text and name fields are searchable. You can expand or narrow the set of searchable fields through field configuration.

Immediate Feedback

Results update as the user types, after a short debounce to avoid triggering a search on every individual keystroke. The list doesn't flicker — it smoothly transitions from the full result set to the filtered result set. If no records match, a clear empty state message indicates the search found nothing.

The debounce interval is short enough to feel responsive without generating unnecessary load from incomplete search terms.

Works with Filters

Search and filter controls coexist naturally. Active filters narrow the result set; search further narrows within that filtered set. A user can filter to "Open" status records and then search for a specific company name — the results reflect both constraints simultaneously.

Clearing the search returns to the filtered result set. Clearing filters returns to the full result set. The controls are independent and cumulative.

Searchable in Any Context

The search component isn't limited to standalone list pages. It works in modal list views, in embedded sub-lists on detail pages, and in relation selectors where you're picking a linked record. Wherever a list appears, the search experience is consistent.

Relation selectors — the dropdowns you use to link records to each other — use the same search infrastructure. Type to filter available options; the list of selectable records updates immediately. For objects with many records, this makes selecting the right one fast and intuitive.

Performance at Scale

Search performance doesn't degrade as data grows. The platform applies search operations efficiently, using indexed fields where available. For large datasets, only the visible page of results is fetched and rendered, while the total count reflects the full matching set. Searching through tens of thousands of records returns results quickly.

Related posts

Composed Data Sources

Chain and relate data sources for rich dashboards — compose complex data views from simpler sources without writing code.

Computed Expressions

Transform data with template expressions and built-in functions — format, combine, and derive values from your data without code.

Cross-Source Data Joins

Combine data from multiple sources in one view — join records from your database with data from external services using a shared key.