Skip to content

v0.2.0

Choose a tag to compare

@jcoder-stack jcoder-stack released this 11 Aug 00:34
· 26 commits to main since this release

依赖升级到 TanStack Table v9,新增列预设,表格搜索与勾选不再触发整表重渲染。

依赖升级

  • @tanstack/react-table 8.x → 9.1.2:块内部改用 useTable + tableFeatures 特性注册
  • @tanstack/react-router1.170.24@tanstack/react-start1.168.41

新增

  • 列预设 createAbpColumns<TData>()components/abp/table/column-presets.tsx):text / date / money / enum / bool 五个预设,外加 accessor / display / group 透传与 columnHeader(label)。label 传词条 key 而非译文,列数组可以放到模块级
  • 按表声明的 columnMetatable-core.tsTableColumnMeta + 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,勾选状态交还给表实例并按行 SubscribeuseTable 宿主选择器排除 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