mcpField
T
table-features

table-features

github.com/tanstack开发28.5k66 次安装1 周前更新
代码仓库

关于 table-features

用于配置 TanStack Table v9 功能的编码技能,指导开发者注册功能、处理依赖,并按需求查阅相关参考文档。

主要功能

  1. 01注册可选表格功能
  2. 02检查功能前置依赖
  3. 03按任务选择参考文档
  4. 04查找已安装的功能 API

适用场景

  1. 01添加排序或筛选
  2. 02选择行处理阶段
  3. 03排查 API 不可用的原因

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tanstack/table --skill table-features

安装后在 Claude Code 中输入/table-features确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
aggregation.md
cell-selection.md
cell-spanning.md
client-vs-server.md
column-faceting.md
column-filtering.md
column-ordering.md
column-pinning.md
column-resizing.md
column-sizing.md
column-visibility.md
expanding.md
global-filtering.md
grouping.md
pagination.md
row-pinning.md
row-selection.md
sorting.md

详细介绍

功能架构

请先阅读 core 以了解无头模型和稳定输入。

注册表格所用的行为

import {
  createSortedRowModel,
  rowSortingFeature,
  sortFn_alphanumeric,
  tableFeatures,
} from '@tanstack/table-core'

export const features = tableFeatures({
  rowSortingFeature,
  sortedRowModel: createSortedRowModel(),
  sortFns: { alphanumeric: sortFn_alphanumeric },
})

将稳定的 features 对象传递给已安装适配器的构造函数。具体的注册表决定了可选 API、选项、状态切片及其类型。核心行模型是自动的;自定义核心模型则使用 coreRowModel。

注册规则

  • 在同一个 tableFeatures 调用中,先注册每个前置功能,再注册依赖它的插槽。仅有处理工厂本身无法安装该功能的 API 或状态。
  • 行模型工厂使用 create*RowModel() 功能插槽。它们的名称和前置条件见功能参考。这些工厂不接受函数注册表参数。
  • filterFns、sortFns 和 aggregationFns 是功能插槽,而非表格选项。它们分别需要 columnFilteringFeature、rowSortingFeature 和 rowAggregationFeature。
  • 单独导入内置函数(例如 sortFn_alphanumeric)并注册其约定键名。这些键名会成为有类型的字符串名称;'auto' 只能解析已注册的函数。当某列不需要命名的注册表条目时,可直接传入函数。完整的注册表导出会打包所有内置函数。
  • columnResizingFeature 需要 columnSizingFeature;globalFilteringFeature 需要 columnFilteringFeature。其他依赖请检查已安装的 FeatureSlotPrereqs。
  • 常规构造请使用显式功能。stockFeatures 是一个有意提供的全功能便捷方式或临时迁移辅助工具,会带来相应的打包体积成本。

API 缺失可能是因为未注册。在进行类型转换、重新创建 API,或假设 v9 已移除该 API 之前,请先检查具体的功能对象。

根据所需变更选择参考文档

仅阅读所需行为及其依赖项(包括正在添加的功能)所需的参考文档。表格中已注册但与当前任务无关的功能,不代表需要阅读其参考文档。

任务涉及阅读
手动模式、服务端数据、混合行处理阶段或数据集范围客户端/服务端所有权
总计、多个聚合、分组聚合值或自定义聚合定义聚合
分面选项计数、数值范围或不完整的服务端分面列分面
按列筛选、筛选函数、元数据或嵌套行筛选列筛选
分组行、占位符,或与展开/分页配合的分组分组
拖拽排序,或叶子列顺序与状态不一致列排序
粘性列区域、逻辑起止位置或固定间隙列固定
拖拽调整大小手柄、手势事件或调整大小性能列宽调整
数值宽度、最小/最大限制,或模型与 CSS 尺寸不一致列尺寸
隐藏列、感知可见性的渲染或隐藏控件列可见性
跨列搜索或全局筛选资格全局筛选
层级子行、详情面板或展开/分页交互展开
分页切片、计数、导航或页索引重置分页
顶部/底部固定行,或其在当前页之外的可见性行固定
矩形单元格选择、包含/排除范围或拖拽轮廓单元格选择
合并的主体单元格、被覆盖的单元格,或随行顺序变化的跨度单元格跨列/跨行
行复选框、全选、Shift 范围选择或跨页 ID行选择
排序、比较器、未定义值或排序交互循环排序

如需了解受控状态或重置行为,请阅读共享状态,并加载已安装适配器的状态技能以进行响应式接线。

已安装 API 查找

查看 node_modules/@tanstack/table-core/dist/types/TableFeatures.d.ts 以了解插槽和 FeatureSlotPrereqs。参照 dist/features/<feature>/ 获取精确的状态、选项和实例声明。每篇参考文档都会注明其对应的功能目录。

评论

支持 Markdown