通用用户角色管理页表格防坍塌

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-03 22:38:41 +08:00
parent 96760f177a
commit 0f694e8463
4 changed files with 141 additions and 29 deletions
+23
View File
@@ -516,3 +516,26 @@
- 风险与影响:
- 影响面仅 `/admin/syslog` 前端展示层。
- 由于 `/admin/diary` 目前目录不存在,本次变更仅作用于系统日志页面,不影响其它管理页面。
## Work Log - 用户/角色管理页表格防坍塌(2026-05-03)
- 背景:
- 在菜单管理页完成“筛选少量数据时表格高度不坍塌”后,新增需求要求将同类体验同步到用户管理与角色管理页面。
- 本次改动(最小闭环):
- 文件:`web/src/app/admin/users/page.tsx`
- 新增与菜单/角色页一致的表格动态高度计算(`tableScrollY` + `ResizeObserver` + `resize` 监听)。
- 表格滚动由 `scroll={{ x: 1500 }}` 调整为 `scroll={{ x: 1500, y: tableScrollY }}`
- 表格外层新增 `admin-users-table-anchor`,并通过 CSS 变量注入动态 `min-height`
- 分页补齐 `style: { marginBottom: 0 }`,统一底部留白策略。
- 文件:`web/src/app/admin/roles/page.tsx`
- 在已有动态 `scroll.y` 基础上,表格外层新增 `admin-roles-table-anchor`,并注入动态 `min-height` CSS 变量。
- 文件:`web/src/app/globals.css`
- 新增两条局部样式:
- `.admin-users-table-anchor .ant-table-body`
- `.admin-roles-table-anchor .ant-table-body`
- 两者均使用页面注入变量作为 `min-height`,确保筛选后数据较少时表格区域不坍塌。
- 风险与影响:
- 影响范围限定在 `/admin/users``/admin/roles` 页面样式行为,不涉及接口、权限与数据写入链路。
- 样式作用域使用页面专用 class,避免影响其他 AntD 表格。