用途:指导在 Svelte 5 中创建 TanStack Table v9 无头表格,基于 @tanstack/table-core 的 core 与 table-features 模型。
主要能力:使用 createTable、FlexRender、tableFeatures 搭建表格;按需注册功能(如 rowSortingFeature、createSortedRowModel、sortFn_alphanumeric);通过 rune 数据 getter 让表格响应式更新;用 FlexRender 渲染单元格。
使用方式:将 features 与 columns 放在响应式工作之外,用 getter 暴露变化的 rune 值。示例:const table = createTable({ features, columns, get data() { return data } })。仅注册所需处理功能,行模型槽位需与前置功能在同一次调用中声明;单独导入 sortFn_* 内置函数并只注册列引用的那些。核心模式 tableFeatures({}) 下渲染 row.getAllCells(),注册 columnVisibilityFeature 后才用 row.getVisibleCells() 等可见性 API,功能 API 应在真实 Svelte 事件处理器中调用。
适用场景:Svelte 5 项目需要无头、可自定义标记与样式的表格,排序等按需启用。
限制:v9 要求 Svelte 5、createTable 与显式 features,核心行模型自动提供;v8 的 createSvelteTable 构造器已移除。未注册功能时其状态与 API 不存在。表格不提供组件库标记、CSS 或无障碍行为,需自行实现。常见错误包括把 rune 快照直接作为 data 传入、使用已移除的 v8 构造器、遗漏 API 背后的功能注册。API 可查阅 node_modules/@tanstack/svelte-table/dist/index.d.ts 及 table-core 的 dist/index.d.ts 与 dist/features/<feature>/。