分类下拉:修「永远未分类」+ 菜单同宽 + 主题色 (#84)
用户 2026-11-05 三点:
1.「分类那个地方没带进来。明明是有分类的,但是它却显示的是未分类。」
2.「分类弹出来的框太窄了,应该和输入框一样宽。」
3.「颜色也不对…文字颜色是主题色,背景色是比主题色浅一点的那个主题色。」
① tskCats 永远是空数组
`FbHomePage.loadTaskMeta()` 开头:
if (this.tskBoards.length > 0) { return; }
**只看看板有没有值**。这个方法跑过一次、看板填上之后,
以后再进来直接返回 ⇒ `tskCats` 永远停在上一次的赋值上;
如果第一次调用时 cats 恰好是空(或 #83 之前的版本压根没赋过),
就再也补不上 ⇒ 下拉里只有「未分类」。
⇒ 改成 `if (boards.length > 0 && cats.length > 0) return;`
"两样都有值才跳过"。
⚠️ 不能只判 cats:新家庭可能真的一条分类都没建,那样每次都重拉。
⚠️ 任务页的 `loadMeta()` 没有这个提前返回,不用改。
② 下拉菜单太窄
`width(100%)` 管的是**控件本身**;弹出的选项菜单有独立宽度
(`optionWidth`),不给就按选项文字撑开 ⇒ 很窄。
⇒ `.optionWidth(OptionWidthMode.FIT_TRIGGER)` 让它跟触发器同宽。
⚠️ 顺手试过 `.optionHeight(auto)` —— SDK 里 `optionHeight` 只收
`Dimension`,传 auto 直接编译报 "No overload matches this call"。
③ 颜色改主题色
文字 `this.accent` + `weight: Medium`;
底色 `fbAlpha(this.accent, 0.10)`(浅一档的主题色)。
与面板里「+ 添加附件」那颗胶囊同一套 —— 整面板"可操作控件"观感一致。
选项列表里:选中项用主题色、其余用墨色(全主题色会失去对比)。
编译通过,已装真机。
This commit is contained in:
@@ -835,7 +835,19 @@ export struct FbHomePage {
|
||||
|
||||
/** 拉全部看板 + 分类(面板的"挪分组"、表单的"分类"都要用) */
|
||||
private async loadTaskMeta(): Promise<void> {
|
||||
if (this.tskBoards.length > 0) {
|
||||
/* 🔴 #84(用户 2026-11-05):「鸿蒙端的分类那个地方没带进来。
|
||||
明明是有分类的,但是它却显示的是未分类。」
|
||||
|
||||
**就是这个提前返回**:只看 `tskBoards` 有没有值。
|
||||
而这个方法一旦先跑过一次、看板填上了,以后再进来就直接返回 ——
|
||||
`tskCats`(分类)**永远停在上一次的赋值上**;如果第一次调用时
|
||||
`m.cats` 恰好是空(或被 #83 之前的版本错过了),就永远补不上。
|
||||
|
||||
⇒ 改成"两样都有值才跳过"。任何一个为空就再拉一次
|
||||
(接口很轻:`?view=boards` 不带任务列表)。
|
||||
⚠️ 不能只判 `tskCats.length`:新家庭可能真的一条分类都没建,
|
||||
那样每次都重拉。两条一起判才是"数据齐了"。 */
|
||||
if (this.tskBoards.length > 0 && this.tskCats.length > 0) {
|
||||
return;
|
||||
}
|
||||
await loadPath<FbTaskMeta>('tasks_meta', '/api/v1/tasks?view=boards', parseTaskMeta,
|
||||
|
||||
Reference in New Issue
Block a user