Skip to main content

getting-started

Create and render Table v9 with the ember adapter. Route reusable createTableHook defaults, and framework setup; use table-state for reactive ownership.

Quellinformationen

Repository
TanStack/table
Letzte Quellaktivität
12. Oktober 2026 um 16:41
Erkannte Sprache von SKILL.md
Englisch
Sterne
28.541
Forks
3.588

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
getting-started
description
Create and render Table v9 with the ember adapter. Route reusable createTableHook defaults, and framework setup; use table-state for reactive ownership.
metadata
{"type":"framework","library":"@tanstack/ember-table","framework":"ember","library_version":"9.3.1"}
requires
["@tanstack/table-core#core"]
sources
["TanStack/table:docs/framework/ember/quick-start.md","TanStack/table:examples/ember/basic-table","TanStack/table:packages/ember-table/src/index.ts","TanStack/table:packages/ember-table/src/use-table.ts","TanStack/table:packages/ember-table/src/FlexRender.gts","TanStack/table:docs/framework/ember/guide/composable-tables.md","TanStack/table:examples/ember/basic-app-table","TanStack/table:packages/ember-table/src/create-table-hook.ts"]
Load `intent load @tanstack/table-core#core` first for the headless model, stable inputs, and column inference. Ember 5.8 or newer requires Embroider or ember-auto-import v2. Prefer `.gts` or `.gjs` template-tag components with Glint. ## Setup ```gts import Component from '@glimmer/component' import { tracked } from '@glimmer/tracking' import { FlexRenderCell, createColumnHelper, tableFeatures, useTable, type Cell, type Row, } from '@tanstack/ember-table' type Person = { id: string; name: string } const features = tableFeatures({}) const columnHelper = createColumnHelper<typeof features, Person>() const columns = columnHelper.columns([ columnHelper.accessor('name', { header: 'Name' }), ]) const initialData: Person[] = [{ id: '1', name: 'Ada' }] const getRowId = (row: Person) => row.id const getAllCells = ( row: Row<typeof features, Person>, ): Array<Cell<typeof features, Person>> => row.getAllCells() export default class PeopleTable extends Component { @tracked data = initialData table = useTable(this, () => ({ features, columns, data: this.data, getRowId, })) get rows() { return this.table.getRowModel().rows } <template> <table> <tbody> {{#each this.rows as |row|}} <tr> {{#each (getAllCells row) as |cell|}} <td><FlexRenderCell @cell={{cell}} /></td> {{/each}} </tr> {{/each}} </tbody> </table> </template> } ``` ## Construction and rendering `useTable` takes an options thunk. Read tracked data inside it, and keep features, atoms, and columns stable. In a component, pass `this` as the owner to bind external-atom cleanup to the component lifecycle. The one-argument thunk form remains available for standalone tables. Read Table APIs in template-consumed getters. Column, row, cell, and header prototype methods require their receiver, so use a getter or module helper such as `getAllCells(row)` rather than an extracted method. Wrap event calls the same way. Use `FlexRenderCell`, `FlexRenderHeader`, and `FlexRenderFooter` for the matching object. Rendered components receive `@ctx` and optional `@options` through `flexRenderComponent(Component, options)`. With `tableFeatures({})`, render `row.getAllCells()`. Register `columnVisibilityFeature` before switching to `row.getVisibleCells()`. ## Read for the task - When adding or configuring optional features, load `intent load @tanstack/table-core#table-features` and read only references for the requested behavior. - For state ownership or reactive reads, read [table-state](../table-state/SKILL.md). - When tables share features, defaults, or reusable UI, read [create-table-hook](references/create-table-hook.md). ## API discovery Inspect `node_modules/@tanstack/ember-table/declarations/index.d.ts`, `use-table.d.ts`, `signal.d.ts`, and `FlexRender.d.ts`. Core feature APIs are in `node_modules/@tanstack/table-core/dist/features/`.
Auf GitHub ansehen