Prerequisites
Describe the Feature Request
Add a lightweight ion-table component for presenting native HTML tables with Ionic's cross-platform styling and responsive behavior.
This is intentionally a presentation primitive, not a full data-grid product.
Describe the Use Case
Applications that show reports, admin data, catalogs, and audit records repeatedly rebuild the same table shell: horizontal scrolling on small screens, consistent Ionic theming, loading and empty states, and accessible table presentation.
Advanced table libraries solve sorting, filtering, pagination, virtualization, and data management, but they are often heavy or framework-specific for teams that only need a well-integrated responsive table surface.
Describe Preferred Solution
Add an ion-table core component that preserves native <table> semantics and works across Ionic's supported integrations. The initial API could provide:
- Responsive horizontal scrolling for wide tables
- Ionic mode-aware styling and CSS custom properties/parts
- Accessible defaults without changing native table semantics
- Loading and empty-state slots
- Support for captions, native table sections, and arbitrary cell content
The component should not own data fetching, sorting, pagination, virtualization, or a row/column data model. Those concerns can remain with application code or specialized libraries such as AG Grid.
Describe Alternatives
The earlier requests #28557 and #25679 discussed a full data-table/data-grid component and were closed as not planned. This proposal is deliberately narrower and focuses on a reusable presentation primitive rather than competing with AG Grid or framework-specific table libraries.
Related Code
Example usage:
<ion-table>
<table>
<caption>Team members</caption>
<thead>
<tr><th scope="col">Name</th><th scope="col">Status</th></tr>
</thead>
<tbody>
<tr><th scope="row">Ada Lovelace</th><td>Active</td></tr>
</tbody>
</table>
</ion-table>
Additional Information
This is intended as a smaller, incremental alternative to a full data table. If the team agrees with the direction, I would be happy to contribute an initial implementation and focused tests.
Prerequisites
Describe the Feature Request
Add a lightweight ion-table component for presenting native HTML tables with Ionic's cross-platform styling and responsive behavior.
This is intentionally a presentation primitive, not a full data-grid product.
Describe the Use Case
Applications that show reports, admin data, catalogs, and audit records repeatedly rebuild the same table shell: horizontal scrolling on small screens, consistent Ionic theming, loading and empty states, and accessible table presentation.
Advanced table libraries solve sorting, filtering, pagination, virtualization, and data management, but they are often heavy or framework-specific for teams that only need a well-integrated responsive table surface.
Describe Preferred Solution
Add an
ion-tablecore component that preserves native<table>semantics and works across Ionic's supported integrations. The initial API could provide:The component should not own data fetching, sorting, pagination, virtualization, or a row/column data model. Those concerns can remain with application code or specialized libraries such as AG Grid.
Describe Alternatives
The earlier requests #28557 and #25679 discussed a full data-table/data-grid component and were closed as not planned. This proposal is deliberately narrower and focuses on a reusable presentation primitive rather than competing with AG Grid or framework-specific table libraries.
Related Code
Example usage:
Additional Information
This is intended as a smaller, incremental alternative to a full data table. If the team agrees with the direction, I would be happy to contribute an initial implementation and focused tests.