Skip to main content
Back to Blog
fields display components ui

Universal Field Display

Swifty Team Feb 24, 2026 3 min read

Displaying data consistently across an application is harder than it sounds. A date should look like a date. A status should show as a badge. A file should render as a downloadable link. A currency value should be formatted with the right symbol and decimals. Until now, getting all of that right meant handling each field type separately in every view it appeared.

We've consolidated all of that logic into a single universal field display component.

One Component for Everything

The universal field display component knows how to render any field type your data model contains. Pass it a field definition and a value, and it figures out the right presentation automatically:

  • Text and numbers render with appropriate formatting based on locale and field configuration
  • Dates and times apply your workspace's date format, no manual formatting needed
  • Status fields display as color-coded badges with the status label
  • Relation fields show linked record labels, not raw IDs
  • File fields render as downloadable attachments with file type icons
  • Boolean fields display as clean yes/no indicators
  • Structured fields expand nested data clearly

Consistent Across Every View

The same component powers field display in list rows, detail panels, summary cards, and any custom page you build. That means a date field looks identical whether you encounter it in a table, in a record detail view, or in a summary widget on a dashboard.

This consistency isn't cosmetic. When every instance of a field type looks and behaves the same way, users learn the interface once and navigate with confidence everywhere. They don't need to interpret different presentations of the same underlying information.

No Configuration Required

The component derives its rendering logic from the field definition itself. If a field is defined as a date, it renders as a date. If it has options with colors, it renders as a badge. If it's a relation, it resolves the linked record's label.

You don't need to tell the component how to render. The definition already contains everything it needs to know.

Custom Overrides When You Need Them

While automatic rendering covers the vast majority of cases, the component supports display overrides for situations where you need something specific. You can override the format for a particular instance without changing the field definition. The override applies locally; all other uses of the field continue with automatic rendering.

This gives you the consistency of a single component with the flexibility to adjust presentation for edge cases — without introducing inconsistency into your core data model.

The Result

Build a new view, add a field to a layout, or create a new page type — the field displays correctly from the first render. No formatting code, no per-field display logic, no inconsistencies between views. One component handles everything, and it handles it well.

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.