鸿蒙端:分类、循环改成可编辑 (#83)
用户 2026-11-05:「分类和重复,也就是循环,都需要加上,鸿蒙端也得加上。」 原来这两个只在**有值**时才画一行只读文字 (`if (this.categoryOf() !== )` / `if (this.repeatOf() !== )`)—— 用户不仅改不了,连"这里本来有这一项"都看不出来。 (这与 #76 里网页端"负责人为空就整行消失"是同一个毛病。) 改法:与截止/负责人同形态(标签一行 + 控件一行),**始终显示**。 ① FbTaskPanel 新增 `@Param cats: FbCatOpt[]` ⚠️ 与 boards 同一理由:**不能从任务里反推** —— 反推只能看见"已经被用过的"分类,新建的分类在端上永远选不到。 ② 下拉用 ArkUI 原生 `Select`,第 0 项固定「未分类」/「不循环」 - 分类:index 0 → category_id = 0;index N → cats[N-1].id - 循环:index 0 → (不循环);index N → REPEAT_KEYS[N-1] ⚠️ REPEAT_KEYS 与 REPEAT_WORDS **必须严格对齐**, 错一位就是"选每天存成每周"这种静默错数据。 ③ `inlineBusy` 时退回只读文字:请求在飞的时候不给选, 否则用户连点两下会发两次相反的值。 ④ 首页 / 任务页两处宿主传 `cats`(tskCats / metaCats)。 ⑤ 服务端 API 早就支持这两个字段(`Api::str(repeat_rule, ...)`), 本轮只补了 `Task::setAttrs` 的 repeat_rule 分支(见服务端那次提交)。 编译通过,已装真机。
This commit is contained in:
@@ -1950,6 +1950,7 @@ export struct FbHomePage {
|
||||
taskId: this.tskBase.id,
|
||||
seed: this.tskBase,
|
||||
boards: this.tskBoards,
|
||||
cats: this.tskCats,
|
||||
accent: this.taskAccent(),
|
||||
refreshTick: this.tskTick,
|
||||
onClose: (): void => {
|
||||
|
||||
Reference in New Issue
Block a user