任务标题改用单行输入框 (#77)
用户 2026-11-05:「现在这个任务标题是好几行的那种输入框,不要用这种输入框, 用一行的输入框就行了。标题没有那么长,现在太高了。」 TextArea(多行,height 84)→ TextInput(单行,height 40)。 ① 高度 84 → 40,与「截止」「负责人」那些控件行同高 标题是一句话,本来不需要多行;84 的高度等于多占两行位置, 把下面所有内容(状态/看板/截止…)整体往下推。 ② 顺带补 onSubmit:单行框里回车是"提交"而不是换行, 用户打完直接按回车就保存,不用先点别处。 多行框里回车是换行,所以以前不能加这一条。 ⚠️ TextInput 只有一行,高度超了也只是上下留白 ⇒ 直接给 40, 不是像 TextArea 那样"给多少显示多少"。 ⚠️ 单行框超长时不换行、横向滚动 —— 标题本来就没那么长,可接受。 编译通过,已装真机。
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user