Skip to content

团队详情页「成员管理」区成员卡初始滚动位置在最右端,且无语义/视觉滚动提示,导致成员看似缺失 #220

Description

@aurevian-biz

问题描述
当团队包含 1 名 Leader + 9 名成员(共 10 人)时,团队详情页(/enterprise/teams/{teamId})的「成员管理」区域只显示约 7 名成员,其余成员不可见,容易让用户误以为成员数据丢失。

复现步骤
在「我的团队」创建一个团队,添加 1 名 Leader + 9 名成员
打开团队详情页 /enterprise/teams/{teamId}
观察「成员管理」区:仅能看到 Leader 及部分成员卡片,最左侧的成员(如「产品经理」)一开始就在可视区之外

实际行为
后端 API(GET /api/enterprise/teams/{teamId}?tenant_id=...)正确返回全部 10 名成员
前端 DOM 也完整渲染了全部 10 张成员卡片
但成员卡片容器的横向滚动初始位置已经滚到最右端(scrollLeft ≈ scrollWidth - clientWidth),最左侧的卡片在页面加载时即处于视口外
容器使用 overflow-x-auto,滚动条不显眼且无任何溢出提示,用户不知道可以横向滚动

预期行为
页面加载时「成员管理」区应从最左侧(第一位成员)开始展示,用户无需先向左滚动
当成员数量超出容器宽度时,应有明确的视觉提示(如边缘渐变遮罩、常显滚动条或「左右滑动查看更多」提示),避免成员看似缺失

环境
版本:v0.4.0 引入 teams 功能之后的版本(当前 main 最新提交 008fff3
浏览器:实测 Chrome(1440px 视口,窗口更窄时可见成员更少)

定位线索
frontend-enterprise/src/pages/TeamDetailPage.tsx 约 805-836 行:

Leader 卡片单独渲染在上方(正常)
其余成员渲染在

横向滚动容器中
成员卡片固定宽度 w-[156px] shrink-0,9 张卡片内容总宽约 1002px,而容器可显示宽度受页面布局限制(实测仅约 505px)

修复建议
初始滚动位置归零:容器加载后设置 scrollLeft = 0;或将 justify-center 改为在溢出时从 flex-start 对齐,避免内容居中导致初始滚动偏移到最右端
增加溢出视觉提示:成员卡行边缘加渐变遮罩,或让横向滚动条常显,提示可滚动
(可选)改为自动换行:成员数量在 10 人量级时,可将 overflow-x-auto 改为 flex-wrap,让全部成员卡片完整可见,最符合「成员管理」场景

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions