新建待办页的截止时间选择器和父任务选择器点了没反应 #49

Closed
opened 2026-11-05 02:47:15 +00:00 by laoyang · 1 comment
Owner

现象

新建待办页点「截止时间 - 修改」无反应;点「父任务 - 选择」也无反应。

根因

从底部弹层改成独立页面(#47)时,只搬了字段 UI 和状态变量,
两个选择器弹层本身漏写:
pickShow / parentPickShow 被赋值为 true,但 build() 里没有任何 UI 消费它们。

修复

按 EventEditPage 的做法补两个弹层,共用唯一一个 bindSheet:

  • sheetMode='due' → DatePicker + TimePicker + 确定
  • sheetMode='parent' → 父任务列表

⚠️ 关键约束:ArkUI 同页挂多个 bindSheet 会互相覆盖(白框一闪而过),
必须用单个 bindSheet + 模式切换。

提交:007c112

真机验证(5NC0225B27004718)

截止时间弹层

验证项 实测
点「修改」 弹出含 选择截止时间 + DatePicker 2026年11月5日 + TimePicker 09:00 + 确定 ✅
滚日期滚轮 2026年11月5日 → 2026年12月5日 ✅
点「确定」 弹层关闭,截止时间变成 2026-12-05 09:00(真的写入)✅

父任务弹层

验证项 实测
点「选择」 弹出 选择父任务 + 无父任务 + 候选列表(健身)+ 取消 ✅
点候选「健身」 弹层关闭,父任务行 无 → 健身,按钮变 清除 ✅

为什么单独建单

两个选择器弹层缺失是 #47 迁移独立页面时的遗漏,与其它工单无关,可独立验收

## 现象 新建待办页点「截止时间 - 修改」无反应;点「父任务 - 选择」也无反应。 ## 根因 从底部弹层改成独立页面(#47)时,只搬了字段 UI 和状态变量, **两个选择器弹层本身漏写**: `pickShow` / `parentPickShow` 被赋值为 true,但 build() 里没有任何 UI 消费它们。 ## 修复 按 EventEditPage 的做法补两个弹层,共用唯一一个 bindSheet: - `sheetMode='due'` → DatePicker + TimePicker + 确定 - `sheetMode='parent'` → 父任务列表 ⚠️ 关键约束:ArkUI 同页挂多个 bindSheet 会互相覆盖(白框一闪而过), 必须用单个 bindSheet + 模式切换。 提交:`007c112` ## 真机验证(5NC0225B27004718) ### 截止时间弹层 | 验证项 | 实测 | |---|---| | 点「修改」 | 弹出含 `选择截止时间` + `DatePicker 2026年11月5日` + `TimePicker 09:00` + `确定` ✅ | | 滚日期滚轮 | `2026年11月5日` → `2026年12月5日` ✅ | | 点「确定」 | 弹层关闭,截止时间变成 `2026-12-05 09:00`(真的写入)✅ | ### 父任务弹层 | 验证项 | 实测 | |---|---| | 点「选择」 | 弹出 `选择父任务` + `无父任务` + 候选列表(健身)+ `取消` ✅ | | 点候选「健身」 | 弹层关闭,父任务行 `无` → `健身`,按钮变 `清除` ✅ | --- ### 为什么单独建单 两个选择器弹层缺失是 #47 迁移独立页面时的遗漏,与其它工单无关,可独立验收
Author
Owner

验收记录

提交:007c112

改了什么

补上 TodoEditPage 缺失的两个选择器弹层,共用唯一一个 bindSheet:

  • sheetMode='due' → DatePicker(日期)+ TimePicker(时间)+ 确定
  • sheetMode='parent' → 父任务候选列表 + 无父任务 + 取消
  • 新增 confirmDue() 把滚轮值合成毫秒

怎么验的(真机 5NC0225B27004718)

截止时间:

  • 点「修改」→ 弹出 选择截止时间+DatePicker 2026年11月5日+TimePicker 09:00+确定
  • 滚日期 → 2026年11月5日 变成 2026年12月5日
  • 点「确定」→ 弹层关闭,截止时间显示 2026-12-05 09:00(真实写入,非仅 UI)

父任务:

  • 点「选择」→ 弹出 选择父任务+无父任务+候选列表+取消
  • 点「健身」→ 弹层关闭,父任务行 无→健身,按钮变清除

两个弹层的选中结果都真实回填到表单,验证完整闭环。

## 验收记录 提交:`007c112` ### 改了什么 补上 TodoEditPage 缺失的两个选择器弹层,共用唯一一个 bindSheet: - `sheetMode='due'` → DatePicker(日期)+ TimePicker(时间)+ 确定 - `sheetMode='parent'` → 父任务候选列表 + 无父任务 + 取消 - 新增 `confirmDue()` 把滚轮值合成毫秒 ### 怎么验的(真机 5NC0225B27004718) **截止时间**: - 点「修改」→ 弹出 `选择截止时间`+`DatePicker 2026年11月5日`+`TimePicker 09:00`+`确定` - 滚日期 → `2026年11月5日` 变成 `2026年12月5日` - 点「确定」→ 弹层关闭,截止时间显示 `2026-12-05 09:00`(真实写入,非仅 UI) **父任务**: - 点「选择」→ 弹出 `选择父任务`+`无父任务`+候选列表+`取消` - 点「健身」→ 弹层关闭,父任务行 `无`→`健身`,按钮变`清除` 两个弹层的选中结果都真实回填到表单,验证完整闭环。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#49