用途:在 Svelte 项目中组合 @tanstack/svelte-query 与 @tanstack/svelte-table,让服务端负责行处理阶段(如分页、排序、过滤),Table 只做展示与状态控制。
主要能力:通过 createQuery 获取服务端数据,用 getter 把 dataQuery.data 暴露给 createTable;使用 manualPagination 等手动模式选项;用 rowCount 或 pageCount 提供导航总数;用 keepPreviousData 保留上一页数据。
必要用法:createQuery 必须传入返回选项对象的函数,以便 Svelte Query 追踪响应式读取并在页码变化时重新请求,例如 createQuery(() => ({ queryKey: ['people', pagination.pageIndex, pagination.pageSize], queryFn, placeholderData: keepPreviousData }))。手动模式只绕过 Table 自身分页,请求由 Query 或应用代码完成,因此需同时提供 data getter 与 rowCount。若排序或过滤也是手动的,应控制对应状态并把其可序列化值加入 queryKey,服务端按相同顺序返回已处理数据。defaultData 应提升到外部,避免在反复求值的 getter 中新建空数组。
适用场景:需要服务端分页、排序、过滤的 Svelte 表格列表。
限制:资料未提供完整列定义、错误处理、缓存同步细节;API 需查看 node_modules/@tanstack/svelte-table/dist/index.d.ts 与已安装的 @tanstack/svelte-query 版本。