用途:在 Angular 项目中组合 @tanstack/angular-query-experimental 与 @tanstack/angular-table,让 Query 负责网络请求,Table 负责展示,分页、排序、过滤等状态由 signal 持有。
主要能力:使用 injectQuery 定义响应式查询,把分页等信号读入 queryKey 以建立重新获取依赖;使用 injectTable 配合 tableFeatures 与 rowPaginationFeature 构建表格;通过 manualPagination 等手动标志绕过客户端行处理,由 Query 完成服务端工作;用 keepPreviousData 保留上一页数据。
必要用法:在 injectQuery(() => ...) 内读取分页、排序、过滤信号并写入 queryKey;在 injectTable 中直接读取 Query 信号作为 data,避免额外复制状态;手动分页时需提供 rowCount 或 pageCount 以约束跨服务端页面的导航;onPaginationChange 中区分函数式与直接值更新。
适用场景:需要服务端分页、排序或过滤的 Angular 数据表格,且希望用 TanStack Query 管理请求缓存与加载状态。
限制:手动标志只跳过客户端行处理,不发起请求;缺少 rowCount 或 pageCount 时无法正确约束分页导航;在选项函数外捕获查询输入会丢失响应式依赖。具体包版本契约需查看已安装的 @tanstack/angular-table/dist/types/ 与 Angular Query 源码。