diff --git a/entry/src/main/ets/components/FbTaskPanel.ets b/entry/src/main/ets/components/FbTaskPanel.ets index 4713cfd..bf32c6f 100644 --- a/entry/src/main/ets/components/FbTaskPanel.ets +++ b/entry/src/main/ets/components/FbTaskPanel.ets @@ -1231,7 +1231,9 @@ export struct FbTaskPanel { * 任务标题这四个字用主题色,但是输入框里面的文字用黑色。」 * * 所以: - * · 不设 `titleEdit` 双态,直接把 TextArea 常驻;文字从 `titleOf()` 灌进去。 + * · 不设 `titleEdit` 双态,直接把输入框常驻;文字从 `titleOf()` 灌进去。 + * · #77p:用**单行 `TextInput`**(不是 TextArea)—— 标题就是一句话, + * 多行框把面板下半部分全推下去了。 * · **标签**(「任务标题」四个字)= 主题色粗体(走 fieldLb); * **框里的内容** = `FbColors.ink`(墨黑)。上一版我把内容也染成 accent, * 变成"整段标题都是红的",读起来像报错,也不符合"内容用墨色"。 @@ -1246,16 +1248,20 @@ export struct FbTaskPanel { titleRow() { Column({ space: 6 }) { this.fieldLb('任务标题') - /* 🔴🔴 #77o(用户 2026-11-05):「台式机采购计划这个任务标题的输入框 - 和其他的都不一样。我感觉没必要,字体什么的大小,和下面的备注还有 - 什么的保持一致就行了,没必要特别特殊。」 + /* 🔴🔴 #77p(用户 2026-11-05):「现在这个任务标题是好几行的那种输入框, + 不要用这种输入框,用一行的输入框就行了。标题没有那么长,现在太高了。」 - ⇒ 去掉 `fontSize(fontTitle=17)` + `Bold` + `height(64)`, - 改为与备注(以及截止/负责人那些控件行)**完全同一套**: - fontSize(fontSmall=13) / 不加粗 / height(84) 与备注一致 - 标题的"重要性"已经由它排在最前 + 标签主题色表达了, - 输入区不必再靠字号放大来强调。 */ - TextArea({ text: this.titleDraft, placeholder: '要做的事…' }) + ⇒ `TextArea`(多行,84 高)换成 **`TextInput`(单行,40 高)**, + 高度与「截止」「负责人」那些控件行对齐(它们是 height 40)。 + 标题是一句话,本来就不需要多行;多行框还占掉两倍高度, + 把下面所有内容都往下推。 + + ⚠️ `TextInput` 不支持 `.height(84)` 那种"给多少显示多少" —— + 它只有一行,高度超了也只是上下留白。所以这里直接给 40。 + ⚠️ 单行框**不会换行**,超长文字横向滚动。标题超过一行宽时 + 用户能看到正在打的部分,打完失焦后由 maxLines 之外的 + 省略处理在别处(列表卡片)表现,这里不需要额外处理。 */ + TextInput({ text: this.titleDraft, placeholder: '要做的事…' }) .placeholderColor(FbColors.faint) .placeholderFont({ size: FbMetric.fontSmall }) .fontSize(FbMetric.fontSmall) @@ -1264,8 +1270,8 @@ export struct FbTaskPanel { .backgroundColor(FbColors.inputBg) .borderRadius(FbMetric.radiusS) .width('100%') - .height(84) - .padding({ left: 12, right: 12, top: 10, bottom: 10 }) + .height(40) + .padding({ left: 12, right: 12 }) .onChange((v: string): void => { this.titleDraft = v; }) @@ -1278,6 +1284,11 @@ export struct FbTaskPanel { this.titleFocus = false; this.saveTitle(); }) + /* 单行框支持"回车提交":用户打完直接按回车就走 saveTitle, + 不用先点别处。多行框里回车是换行,所以以前没这一条。 */ + .onSubmit((): void => { + this.saveTitle(); + }) } .width('100%') .alignItems(HorizontalAlign.Start)