angular/getting-started

Build a signal-backed TanStack Table v9 in Angular with FlexRender directives.

28.3k|3.6k|Updated Oct 20, 2016
One-click install
npx skills add https://github.com/TanStack/table --skill angular-getting-started
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: angular/getting-started
Source: https://github.com/TanStack/table/tree/main/packages/angular-table/skills/angular/getting-started
Command: npx skills add https://github.com/TanStack/table --skill angular-getting-started

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you quickly create a working TanStack Table v9 in Angular by correctly wiring the required v9 concepts (_features, _rowModels, injectTable) and rendering with FlexRender, while avoiding common v8→v9 mistakes.

Core Features & Use Cases

  • Signal-backed Angular table setup: Build an end-to-end table using injectTable inside an injection context and drive updates from Angular signal data.
  • Explicit v9 feature + row-model registration: Configure sorting, filtering, and pagination by pairing each feature in _features with its matching derived row model factory in _rowModels.
  • Type-safe columns with correct generic order: Define ColumnDef and column helpers using the v9 generic order (TFeatures, TData) for reliable inference and safer column definitions.
  • Rendering guidance with Angular directives: Render headers, cells, and footers using FlexRender plus *flexRenderHeader, *flexRenderCell, and *flexRenderFooter, with a minimal viable HTML table structure.
  • Practical failure-mode guardrails: Includes targeted warnings for calling injectTable outside an injection context, using non-existent v8 APIs, and forgetting to register a feature’s row model.

Quick Start

Use the angular/getting-started Skill to generate an Angular ≥19 table that uses injectTable with explicit _features and _rowModels, renders with FlexRender directives, and progressively adds sorting, filtering, and pagination.

Frequently Asked Questions about angular/getting-started

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a TanStack Table v9 in Angular using signals?

Set up a TanStack Table v9 in Angular by invoking `injectTable()` in a valid injection context and driving updates with Angular `signal` data. Register matching `_features` and `_rowModels` via `create*RowModel` factories, then render with `FlexRender` directives.

Why are my TanStack Table v9 sorting and filtering features not working?

Sorting and filtering features fail when you forget to register the matching derived row model factory in `_rowModels`. You must explicitly pair each feature in `_features` with its corresponding `create*RowModel` factory for the table to process updates correctly.

How do I render TanStack Table headers and cells in an Angular component?

Render TanStack Table headers and cells in Angular using `FlexRender` paired with `*flexRenderHeader` and `*flexRenderCell` directives. This approach provides a minimal viable HTML table structure to display type-safe column definitions dynamically.

Can I use v8 TanStack Table APIs with Angular v19?

No, using non-existent v8 APIs will cause failures. TanStack Table v9 requires correct generic order (`TFeatures, TData`) for `ColumnDef` and explicit feature registration via `tableFeatures()` to ensure reliable type inference in Angular.

What causes the injectTable function to fail outside an Angular component?

The `injectTable` function fails when called outside a valid injection context. To avoid this error, ensure you invoke `injectTable()` strictly within an Angular component constructor or field initializer where the injection context is available.