Frontend & UISûr100100/100
With Tanstack Query (TanStack) — Vue Table
Compose reactive Vue Query keys and results with Vue Table manual row processing, refs/computed state, server counts, and already-processed pages without duplicating query data into a drifting local ref.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs with-tanstack-query__tanstack-table__packages-vue-table-skills-ecd94007b217TanStack
TanStack/table
Contenu à copier
---
name: with-tanstack-query
description: >
Compose reactive Vue Query keys and results with Vue Table manual row processing, refs/computed state, server counts, and already-processed pages without duplicating query data into a drifting local ref.
metadata:
origin: TanStack
type: composition
library: '@tanstack/vue-table'
framework: vue
library_version: '9.2.4'
requires:
- '@tanstack/table-core#client-vs-server'
- getting-started
- table-state
sources:
- 'TanStack/table:examples/vue/with-tanstack-query'
- 'TanStack/table:docs/framework/vue/guide/pagination.md'
---
This skill builds on `@tanstack/table-core#client-vs-server`, `getting-started`, and `table-state`. Name each client- and server-owned processing stage first.
## Setup
```ts
import { computed, ref } from 'vue'
import { keepPreviousData, useQuery } from '@tanstack/vue-query'
import {
rowPaginationFeature,
tableFeatures,
useTable,
} from '@tanstack/vue-table'
const pagination = ref({ pageIndex: 0, pageSize: 20 })
const query = useQuery(() => ({
queryKey: ['people', pagination.value.pageIndex, pagination.value.pageSize],
queryFn: () =>
fetch(
`/api/people?page=${pagination.value.pageIndex}&size=${pagination.value.pageSize}`,
).then((r) => r.json()),
placeholderData: keepPreviousData,
}))
const data = computed(() => query.data.value?.rows ?? [])
const rowCount = computed(() => query.data.value?.rowCount ?? 0)
const state = computed(() => ({ pagination: pagination.value }))
const table = useTable({
features: tableFeatures({ rowPaginationFeature }),
columns,
data,
rowCount,
manualPagination: true,
state,
onPaginationChange: (next) => {
pagination.value =
typeof next === 'function' ? next(pagination.value) : next
},
})
```
## Core Patterns
### Keep query dependencies reactive
Use the Vue Query options function and read refs inside it. Include every manual filter/sort/page input in the query key.
### Pass Query results directly
Expose result fields as computed refs. Introduce a second local data ref only for an explicit editing workflow with a cache-write policy.
## Common Mistakes
### HIGH Unwrapping before query construction
Wrong:
```ts
const page = pagination.value.pageIndex
useQuery(() => ({ queryKey: ['people', page], queryFn }))
```
Correct:
```ts
useQuery(() => ({ queryKey: ['people', pagination.value.pageIndex], queryFn }))
```
Only reads inside the reactive options function become query dependencies.
Source: `examples/vue/with-tanstack-query/src/App.tsx`
### HIGH Mirroring Query data locally
Wrong:
```ts
const rows = ref(query.data.value?.rows ?? [])
```
Correct:
```ts
const rows = computed(() => query.data.value?.rows ?? [])
```
A one-time copy drifts from subsequent cache results.
Source: `examples/vue/with-tanstack-query/src/App.tsx`
### HIGH Omitting server counts
Wrong:
```ts
useTable({ features, columns, data, manualPagination: true })
```
Correct:
```ts
useTable({ features, columns, data, rowCount, manualPagination: true })
```
One returned page cannot tell Table how many pages the server has.
Source: `docs/framework/vue/guide/pagination.md`
## API Discovery
Inspect installed `@tanstack/vue-table/dist/useTable.d.ts`, installed `@tanstack/vue-query/dist/`, and the relevant manual Table feature source for exact option types.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait With Tanstack Query (TanStack) — Vue Table
Applique les pratiques du skill with-tanstack-query__tanstack-table__packages-vue-table-skills-ecd94007b217.
Comment utiliser With Tanstack Query (TanStack) — Vue Table
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour With Tanstack Query (TanStack) — Vue Table
Dis simplement à ton agent quelque chose comme :
Applique le skill with-tanstack-query__tanstack-table__packages-vue-table-skills-ecd94007b217 à cette tâche
Utilise with-tanstack-query__tanstack-table__packages-vue-table-skills-ecd94007b217 pour améliorer cette implémentation
Passe en revue ce sujet avec with-tanstack-query__tanstack-table__packages-vue-table-skills-ecd94007b217
Skills liés à With Tanstack Query (TanStack) — Vue Table
accessibility
Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels, accessibility traits and hints, focus management, contrast, target size, and screen-reader support. Use when building or auditing UI for accessibility compliance, keyboard navigation, or screen-reader support.Accessibility Pass (Microsoft)
Use this skill whenever the user asks to check, review, or fix the accessibility of a PowerPoint deck, Word document, HTML page, or Markdown file, and before handing over any deck or document this agent just generated, so it does not ship with missing alt text, untitled slides, or unreadable colour contrast.Add Connector (Microsoft)
Use when adding a Power Platform connector to an Expo/React Native Power Apps mobile app and no dedicated mobile connector skill exists.