用途:作为 TanStack Svelte Table v8 升级到 v9 的完整破坏性变更清单,而非快速入门。v9 视为当前 API,迁移前必须先把应用升级到 Svelte 5(svelte ^5.0.0),v9 适配器不兼容 Svelte 3/4。
主要能力与用法:推荐顺序为升级 Svelte 5 并用 runes/getters 替换 v8 store;将 createSvelteTable 重命名为 createTable;定义显式 tableFeatures 并把行模型与注册表移入其中;更新状态读取与渲染;应用共享 API 与类型重命名。示例:const features = tableFeatures({ rowSortingFeature, sortedRowModel: createSortedRowModel(), sortFns: { alphanumeric: sortFn_alphanumeric } }),再 createTable({ features, columns, get data() { return data } })。
关键变更:getCoreRowModel 移除(核心行模型自动);getRowModel 选项改为 tableFeatures 中的 createRowModel() 槽位;sortingFns/filterFns/aggregationFns 改为同名 feature 槽;顶层 onStateChange 改为按切片回调、外部 atom 或 store 订阅。列固定 left/right 改为 start/end;enablePinning 拆分为 enableColumnPinning 与 enableRowPinning;columnSizingInfo 改为 columnResizing;sortingFn 改为 sortFn。渲染改用 FlexRender、renderComponent、renderSnippet。类型首参改为 TFeatures,如 ColumnDef<typeof features, Person>。
限制:未注册 feature 则对应 API 不存在;feature 需放在依赖槽位之前;聚合与分组相互独立。实例方法位于共享原型,不可解构或作为裸回调传递。stockFeatures 仅作临时审计桥接。需在 node_modules 中核对已安装的 v9 API,不要凭 v8 记忆重建。