v0.2.0
依赖升级到 TanStack Table v9,新增列预设,表格搜索与勾选不再触发整表重渲染。
依赖升级
@tanstack/react-table8.x → 9.1.2:块内部改用useTable+tableFeatures特性注册@tanstack/react-router→ 1.170.24,@tanstack/react-start→ 1.168.41
新增
- 列预设
createAbpColumns<TData>()(components/abp/table/column-presets.tsx):text/date/money/enum/bool五个预设,外加accessor/display/group透传与columnHeader(label)。label 传词条 key 而非译文,列数组可以放到模块级 - 按表声明的
columnMeta槽(table-core.ts的TableColumnMeta+baseFeatureMap),取代全局declare module增广;下游可传columnMeta: {} as TableColumnMeta & { mine: X }追加自己的键 - 表实例暴露
getSelectedRows/clearSelection/keepSelected/SelectedCount/selectable docs/releasing.md/releasing.en.md:发版流程publish-smoke.sh增加跨包依赖区间检查;新增 registry 与 starter 块源码一致性测试
性能
搜索输入与行勾选不再重渲染整表。搜索状态下沉到 toolbar,勾选状态交还给表实例并按行 Subscribe,useTable 宿主选择器排除 rowSelection。100 行实测:
| 交互 | 之前 | 之后 |
|---|---|---|
| 输入搜索 | 42.3 ms/commit | 4.3 ms/commit |
| 勾选一行 | 30.2 ms/commit | 3.7 ms/commit |
两项均不再随行数增长。
修复
- 第 1 页切换查询条件(搜索、排序、筛选)后残留旧勾选,批量删除会作用到上一批数据
- 文档与 TSDoc 不再指向已废弃的
table.store;修正CellTableInstance的 API 指引(该类型上没有state/Subscribe)
破坏性改动
Table 块的勾选与搜索 API 有变化,selectable: true 是所有批量能力的前提。迁移对照见 docs/guides/abp-table.md。
升级
bun add @jcoder-stack/abp-react@0.2.0
bun add -D @jcoder-stack/cli@0.2.0 @jcoder-stack/registry@0.2.0
bunx jc-abp add abp-table