概览
TanStack Table 的核心是 框架无关 的,这意味着无论你使用什么框架,它的 API 都是相同的。它提供了适配器,以便根据你使用的框架,更容易地使用表格核心。请查阅 “适配器” 菜单以获取可用的适配器。
TypeScript
尽管 TanStack Table 是用 TypeScript 编写的,但在你的应用程序中使用 TypeScript 是可选的(但推荐使用,因为它会给你和你的代码库带来显著的好处)。
无头 (Headless)
正如在 介绍 部分中广泛提到的那样,TanStack Table 是 无头 的。这意味着它不渲染任何 DOM 元素,而是依赖于你,即 UI/UX 开发者,来提供表格的标记和样式。这是一种构建表格的绝佳方式,它可以在任何 UI 框架中使用,包括 React、Vue、Solid、Svelte、Qwik,甚至是像 React Native 这样的 JS 到原生平台!
核心对象和类型
表格核心使用以下抽象,这些抽象通常由适配器暴露:
- 列定义 (Column Defs):用于配置列及其数据模型、显示模板等。
- 表格 (Table):包含状态和 API 的核心表格对象。
- 表格数据 (Table Data):你提供给表格的核心数据数组。
- 列 (Columns):每列都与其相应的列定义相对应,并提供列特定的 API。
- 行 (Rows):每行都与其相应的行数据相对应,并提供行特定的 API。
- 表头组 (Header Groups):表头组是嵌套表头级别的计算切片,每个切片包含一组表头。
- 表头 (Headers):每个表头都直接关联或派生自其列定义,并提供表头特定的 API。
- 单元格 (Cells):每个单元格都与其相应的行-列交叉点相对应,并提供单元格特定的 API。
还有更多与特定功能(如筛选、排序、分组等)相关的结构,你可以在 功能 部分找到。