← [ BACK_TO_NOTES ]

专题归档 · 2025 年 9 月(编辑分组,非实际写作日期)

实习踩坑:分页选择用户,为什么上一页的人没了?

从管理端用户选择组件的跨页丢选现象理解当前页状态、全局状态与回调重入。

我发现的页面问题

当时最直观的问题是:选中后面页面的用户,之前页面的勾选状态就消失了。 关键不在每页人数,而是跨页选择没有被持续保存。

检查选择状态时,我发现存在一个保存已选用户 ID 的 selection 对象。但切页后只能恢复当前页展示的用户,之前其他页的勾选并没有被正确保留。

需要区分的三种集合

当时明确列出了三个关注点:所有已选 ID、当前页用户 ID、当前页已选 ID。翻页不能把全局已选集合直接重置成当前页组件回传的那一部分。

另一个细节是组件行为:先改变表格选中状态可能触发 selection-change,反过来又修改保存的集合。旧笔记因此引入了一个设置中标志,在程序恢复选择状态时跳过用户触发的更新逻辑。

还需要注意的状态边界

当时也讨论了父组件只传入 ID,但保存接口需要完整用户信息的情况。它提醒我区分组件内部选中态与实际持久化需要的数据;不过此处没有重贴企业接口样本或测试账号。

这是原始问题与方案回顾,不代表迁移后的项目一直使用相同实现。

创建于 2025/9/2 更新于 2026/10/16
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本