SuperAPI AI 工具集

tanstack-table-core-custom-features

编程与开发

查看项目

更新于 10-16 00:02

技能介绍

用途:该技能指导为 TanStack Table v9 编写自定义功能插件,横跨各类 FeatureMap 与 API 安装表面。优先使用内置功能或带类型的 tableMeta/columnMeta 处理应用回调,仅当需要可复用状态或行为以扩展 Table 对象时才创建功能。

主要能力:通过声明合并注册功能键,仅合并由运行时行为支撑的映射,包括 TableState_FeatureMap(选项、原子与 store 中的状态切片)、TableOptions_FeatureMap(表选项与变更回调)、Table_FeatureMap、ColumnDef_FeatureMap、Column_FeatureMap、Row_FeatureMap、Cell_FeatureMap、Header_FeatureMap,以及高级的 RowModelFns_FeatureMap 与 CachedRowModels_FeatureMap。assignTableAPIs 安装单例表方法,assignPrototypeAPIs 用于 column/row/cell/header 原型上的共享方法,initColumnInstanceData 与 initRowInstanceData 仅处理每实例字段,initTableInstanceData 管理表级可变非响应式数据,resetTableInstanceData 在 table.reset() 后清理瞬时数据。

使用方式:在 @tanstack/table-core 中声明合并 Plugins 与各 FeatureMap,实现 TableFeature 对象并导出 tableFeatures({ densityFeature }) 结果。方法键使用 table_、column_、row_、cell_ 或 header_ 前缀,安装时前缀被移除。表 API 函数接收声明参数,原型 API 函数先接收当前对象。保持功能对象与 tableFeatures 结果稳定;每个声明合并的 API 都要有运行时安装;getInitialState 保留传入状态,将用户状态放在默认值之后。

限制:没有 assignColumnAPIs、assignRowAPIs、assignCellAPIs 或 assignHeaderAPIs,应改用对应钩子中的 assignPrototypeAPIs。不要为填满表面而添加生命周期钩子,不要临时改变已构造实例,也不要用功能处理属于 meta 的仅渲染回调。仅为真正派生的方法添加 memoDeps;原型方法共享且不得闭包每对象可变数据。仅当功能拥有真实列定义默认值时才用 getDefaultColumnDef。具体版本兼容与依赖要求暂未提供。