背景
Parent Issue: #736
useGroupedData hook 和 Group Popover 选择器已实现,但分组渲染仅在 Grid 视图中部分生效。Kanban/Gallery/Calendar/Timeline 等视图无分组渲染支持。
目标
- 分组配置通过
schema.grouping 驱动 所有视图类型 的分组渲染
- Grid 视图:分组行头可展开/折叠,显示分组汇总
- Kanban 视图:按分组字段自动生成泳道
- Gallery 视图:按分组字段分区显示卡片
技术要点
packages/plugin-grid/src/useGroupedData.ts — 已有 hook,需验证 fields[].collapsed 状态管理
packages/plugin-grid/src/ObjectGrid.tsx L348 — 已调用 useGroupedData,需实现分组行渲染(GroupRow 组件)
packages/plugin-list/src/ListView.tsx L328 — 已有 groupingConfig state,需传递到非 Grid 视图
- Spec 协议:
GroupingConfigSchema → fields[].field, fields[].order, fields[].collapsed
改动范围
packages/plugin-grid/src/ObjectGrid.tsx — 添加 GroupRow 渲染组件
packages/plugin-list/src/ListView.tsx — 传递 groupingConfig 到所有 viewComponent
packages/plugin-kanban/src/ObjectKanban.tsx — 支持分组配置
packages/plugin-gallery/src/ObjectGallery.tsx — 支持分组配置
验收标准
背景
Parent Issue: #736
useGroupedDatahook 和 Group Popover 选择器已实现,但分组渲染仅在 Grid 视图中部分生效。Kanban/Gallery/Calendar/Timeline 等视图无分组渲染支持。目标
schema.grouping驱动 所有视图类型 的分组渲染技术要点
packages/plugin-grid/src/useGroupedData.ts— 已有 hook,需验证fields[].collapsed状态管理packages/plugin-grid/src/ObjectGrid.tsxL348 — 已调用useGroupedData,需实现分组行渲染(GroupRow 组件)packages/plugin-list/src/ListView.tsxL328 — 已有groupingConfigstate,需传递到非 Grid 视图GroupingConfigSchema→fields[].field,fields[].order,fields[].collapsed改动范围
packages/plugin-grid/src/ObjectGrid.tsx— 添加 GroupRow 渲染组件packages/plugin-list/src/ListView.tsx— 传递 groupingConfig 到所有 viewComponentpackages/plugin-kanban/src/ObjectKanban.tsx— 支持分组配置packages/plugin-gallery/src/ObjectGallery.tsx— 支持分组配置验收标准
schema.grouping.fields[].collapsed初始折叠状态生效pnpm test全部通过