laoyang
19e1333958
首页联系人:点编辑就地弹框,不再跳名册 (#90)
用户:现在在首页上,弹出名册信息之后,点击编辑,怎么跳转到名册去了?
点击编辑应该直接弹框编辑。
改前 onEdit = closePersonDetail() + switchModule(people) —— 用户被甩到
名册模块,还得自己重新找到那个人再点编辑,绕了一圈。
当时注释的理由"首页没有人员编辑表单"站不住:首页**已经**在用
FbPersonEditSheet 做新增成员,同一个组件换参数就是编辑模式。
① onEdit 改为就地弹表单(同一个 FbPersonEditSheet,不另写一份,
否则两处字段/校验/保存逻辑必分叉);
② 新增 @Local pfEditing: FbRosterPerson | null —— 用对象不用 boolean
(表单要拿它回填,只存 true/false 还得再查一次库)。
与 pfCreating 分开两个状态:新建时 person = null 是合法值,
合并成一个 boolean + person? 会让两种情形撞车;
③ 取消 ⇒ 回详情卡(不是直接回首页)。用户刚才是从详情进来的,
取消只是"我不改了",不该连"我在看谁"一起丢掉(与名册页同口径);
④ 保存 ⇒ 关表单 + reloadSideCards + refreshPersonDetail(id)。
这里有个必须处理的坑:编辑表单 save() **只调接口、不写回本地库**,
直接把编辑前快照塞回 pfDetail 会让用户看到"改完还是旧名字"。
⇒ 新增 refreshPersonDetail(),两级刷新(与 FbPeoplePage.openDetail 同一思路):
① byId() 读本地库(快,可能是旧值)
② fetchDetail() 打 GET /people/<id>(服务端权威值,回来原地替换)
断网保持①、不弹错;读不到就什么都不做,不拿 null 覆盖正常的详情卡。
验证(真机 5NC0225B27004718):
- 首页点爸爸→详情卡→点编辑 → **就地弹出编辑表单**,页面仍是首页
(下方最近观影/联系人/往年的今天都在);
- 表单标题「编辑资料」、姓名回填「杨培振」、生日(阳历)1955-03-30;
- 点取消 → 回到详情卡(含手机号/拨打/编辑),不是直接回首页。
hvigorw assembleHap BUILD SUCCESSFUL。
⚠️ 刻意没执行"保存":这是用户真实联系人数据;保存路径与名册页完全
同一份代码(同组件同 onSaved),无需在首页重复踩。refreshPersonDetail
的两级刷新未走真机保存验证 —— 若日后发现"保存后详情显示旧值"先查这里。
2026-11-06 11:56:05 +08:00
..
2026-11-06 11:56:05 +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