SuperAPI AI 工具集

tanstack-table-core-aggregation

数据与分析

查看项目

更新于 10-16 00:02

技能介绍

用途:该技能基于 core 与 table-features,用于对 TanStack Table 的列做聚合计算。聚合与分组相互独立,可单独用于总计,也可与分组技能结合生成合成分组行。

主要能力:支持总计与调用方选定的行范围,例如 salaryColumn.getAggregationValue() 取默认预分组行模型的总计,传入 { rows: table.getFilteredRowModel().rows } 或 { rows: table.getCoreRowModel().rows, maxDepth: 1 } 指定范围。maxAggregationDepth 默认 0 表示所选根行,1 表示直接子行,Infinity 表示终端行;提前结束的分支贡献其最深可用行。默认调用有缓存,显式传行不缓存。支持多聚合:aggregationFn 传数组时返回带键对象,标量则返回标量。支持 constructAggregationFn 自定义聚合,上下文提供 rows、maxDepth、getValue、column、columnId、table 等,可用 merge 合并子行结果。支持手动或远程值:列定义 getAggregationValue(context) 返回 { value },返回 undefined 回退本地定义,manualAggregation: true 禁用本地回退。

使用方式:通过 tableFeatures 注册 rowAggregationFeature 并配置 aggregationFns,如 mean、sum;再调用列的 getAggregationValue。

限制与注意:不要为求总计而注册 columnGroupingFeature;没有 scope 选项,需传 rows 与 maxDepth;不要使用旧式可调用签名;实验性 worker 只计算分组行模型聚合,公开的 getAggregationValue 在主线程执行,自定义分组结果需可结构化克隆。