用途:TanStack Table Core 是 TanStack Table v9 的无头(headless)数据网格状态与行处理引擎。它创建表格实例、状态和行模型,本身不渲染组件、不选择组件库、不应用 CSS,也不提供交互无障碍支持。UI 代码应使用对应框架适配器;只有框架无关的集成才使用 constructTable。
主要能力:通过 tableFeatures 组合特性,核心行模型自动可用,过滤、排序、分页等可选行为需要各自的 feature 插件。用 createColumnHelper 定义列,用 constructTable 传入 features、columns、data 和 getRowId 得到 table 实例,再通过 table.getRowModel().rows 遍历行与单元格取值。行编号可用 helper.display 定义列,在 cell 中调用 row.getDisplayIndex(),它遵循当前过滤、分组、排序和展开顺序(分页之前),返回 -1 时表示该行不在当前显示中;row.index 仍是行在父数组中的创建时位置。
使用方式:示例导入 constructTable、createColumnHelper、tableFeatures 与 storeReactivityBindings,定义 features、columns、data 后构造 table,再遍历行模型读取值。
限制与常见错误:不要期望 Table 渲染网格,实例只是模型,标记、CSS、语义和无障碍由渲染方负责;不要反复重建 data 与 columns,新引用会使记忆化的行与列工作失效,并可能引发适配器渲染循环;v9 的行、单元格、列、表头方法以实例为 this,不能解构后单独调用;不要直接读取 _displayIndexCache,它是内部字段且可能过期,应使用公开的 getDisplayIndex()。API 发现可查看 node_modules/@tanstack/table-core/dist/index.d.ts,UI 创建与渲染则查看对应框架适配器的类型定义并加载其入门技能。