vue/compose-with-tanstack-pacer

Debounce and throttle TanStack Vue Table state writes with Pacer.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents high-frequency user interactions in TanStack Vue Table—like typing into filter inputs or dragging column resize—from causing excessive state writes and sluggish UI.

Core Features & Use Cases

  • Debounced filter input updates: Keeps input typing responsive by updating local component state immediately while routing the actual table write through a Debouncer.
  • Throttled column resizing: Smooths resize behavior by throttling resize-state writes (typically to one animation frame) instead of committing every drag event.
  • Vue integration pattern: Cancels pending debounced work on unmount using onBeforeUnmount(() => debouncer.cancel()) to avoid stale updates and errors.

Quick Start

Install the packages and use Debouncer from @tanstack/pacer in your Vue column filter component so maybeExecute commits the filter value after a short wait while keeping the input locally responsive.

Frequently Asked Questions about vue/compose-with-tanstack-pacer

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

FAQPage Schema
Why does my TanStack Vue Table lag when typing into filter inputs?

TanStack Vue Table lags during filter input because rapid typing triggers excessive state writes. Debouncing these writes with Pacer keeps the UI responsive by committing values only after typing pauses, eliminating the sluggish behavior.

How do I debounce TanStack Vue Table filter input updates?

To debounce TanStack Vue Table filter updates, update local component state instantly for immediate UI feedback, but route the actual table state write through a Pacer Debouncer using maybeExecute to commit the value after a short delay.

What is the best way to smooth out TanStack Vue Table column resizing?

The best way to smooth TanStack Vue Table column resizing is throttling resize-state writes to one animation frame using a Pacer Throttler. This prevents committing every drag event, which causes UI lag during interactions.

Can I use @tanstack/pacer with Vue v9 table adapters?

Yes, you can use @tanstack/pacer with Vue v9 table adapters. You integrate Pacer Debouncer or Throttler helpers to manage high-frequency interactions like filtering and column resizing while maintaining local instant state.

Do I need to cancel pending debounced work when a Vue component unmounts?

Yes, you must cancel pending debounced work on unmount using onBeforeUnmount(() => debouncer.cancel()) in Vue. This prevents stale table state updates and avoids errors after the component is destroyed.