SuperAPI AI 工具集

docyrus-data-grid-page-design

前端与建站

查看项目

更新于 10-16 05:06

技能介绍

用途:本技能用于构建 Docyrus 的 React 数据网格(DataGrid)与记录列表页面,围绕 web DataGrid 技术栈组织完整列表页。

构建模式选择:

  1. 标准 Docyrus 页面:使用 useDocyrusDataGrid,适合行数据来自 Docyrus 数据源或生成集合的场景,自动提供元数据驱动列、保存视图、工具栏、搜索、筛选(含关系/用户字段的异步选项搜索)、分组、排序、行高、显示模式、字段可见性菜单、分页与重载,并自动接线引用字段展开、租户感知格式化器与共享用户列表,内置行内变更跟踪与保存横幅、可选行内新增、内置选择栏批量操作(更新/删除/导出)及服务端导出菜单,另含枢轴筛选条与可选侧边筛选栏、关系单元格导航、条件行/单元格颜色规则等。
  2. 自定义布局或自定义行查询生命周期:使用 useDocyrusDataViewSelect + useDataGrid,适合自定义工具栏、本地/演示数据或非标准获取流程。
  3. 无后端保存视图:使用 useDataGrid 配合本地 SavedDataGridView[] 或 DataGridViewMenu。

默认工作流:确认 appSlug、dataSourceSlug 与生成集合是否存在;选择 hook 模式或手动模式;应用级挂载 DocyrusTenantProvider 一次并在根附近提供 UsersProvider;按 select、actions 顺序添加保留列(会自动左固定);页面用 flex 列布局,网格主体包裹 min-h-0 flex-1;围绕行操作添加创建/编辑/查看/删除对话框及导入流程;验证初始保存视图、搜索、筛选、分组、排序、分页与重载。

硬性要求:整页网格工具栏放在 shrink-0 行、网格放在 min-h-0 flex-1 内;优先使用 <DataGrid table={table} {...gridProps} height="auto" />;把 TanStack table 实例传给每个网格菜单与 DataGridViewSelect;useDocyrusDataViewSelect 仅管理视图元数据,不获取行也不接受 table;手动查询必须始终发送 columns,引用字段还需加入 expand 数组;手动页面需在视图和列就绪后调用 applyViewToTable(table, activeView);优先使用 useDocyrusDataGrid;手动视图 CRUD 传入 isSaving 与 isLoading;租户日期/数字格式化建议挂载 DocyrusTenantProvider,除非需要单网格覆盖;用户单元格即时头像与标签可启动时拉取 /v1/users 并作为 users 选项传入;后端元数据存在陈旧字段时可用 excludeFieldSlugs 临时规避,但应优先修复后端。

限制:资料未提供收费、价格、平台支持范围等信息;部分高级行为需参考对应 references 文档(hook-pages.md、advanced-grid-features.md、manual-pages.md、advanced-saved-view-query-patterns.md、tenant-and-users-providers.md)。