laoyang
5f8de01033
修:点已有纪念日编辑时关联人一片空白 (#91b)
用户 2026-11-05:「刚才关联人还有1人呢,现在关联人怎么没了?是个空的。」
真根因(两层,缺一个都不会有这现象):
① `dayRoster` 只在 `openDayCreate()`(**新建**入口)里加载
`openDayDetail()`(**点已有纪念日**)从不加载它 ⇒ roster 恒为空数组
⇒ 编辑框里按 id 查不到人。
⇒ 抽出 `ensureDayRoster()`,两个入口都调。
`openDayDetail` 里**不 await**:先让卡片弹出来(点击要即时反馈),
名册回来后 `@Param` 变化会自动重画 chips。
② `pickedPeople()` 是"查不到就 skip"
roster 为空时返回 `[]` ⇒ chips 区什么都不画 ⇒ 看着像关联关系被清空了。
而这数据其实一直在 `personIds` 里,保存也不会丢 ——
典型的"查不到就静默丢弃",最吓人的那种:数据没坏,但界面像是坏了。
⇒ 新增 `pickedSlots()`:roster 里查不到**也产出占位项**
(名字写「成员 #id」、known=false、灰色字),至少让人看到"关联了一个人"。
⇒ 判断分支改看 `personIds.length`(**事实**),
而不是 `pickedPeople()`(可能因 roster 没到而为空)。
顺手删掉 `pickedPeople()`(改成 slots 后没人用了,712 字符)。
⚠️ 派生(生日)走只读卡不需要名册,但 `openDayDetail` 统一加载也无害
(`ensureDayRoster` 有缓存判断,第二次直接返回)。
编译通过,已装真机。
2026-11-05 20:53:53 +08:00
..
2026-11-05 20:53:53 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00