表单规范全量铺开 + 编辑时视频附件不显示 (#56)
① 编辑行程的视频附件不显示 根因:照片墙对所有附件都用 Image 渲染,视频是 .mp4, Image 加载不出来 ⇒ 空白块 ⇒ 用户以为"视频没带进来"。 按 mime 分流:video/ → 深色底 + ▶(不取首帧,端上解视频首帧很卡)。 ② 新增共享组件 FbFormField.ets(GLOBAL-FORM-SPEC) 5 个表单原来各写一份 field()/labelRow(),改一处要改五处, 而且外层结构不一致(有的 Row 有的 Column),批量脚本改坏过两次。 收敛到一个组件,表单只调用不自己实现。 ③ 全量铺开 - FbPersonEditSheet 姓名标必填(红色无星号) - FbEventEditSheet 日程 field 两排 - FbMovieNewSheet 片名/影院/同看的人/海报/观影照片/简介/备注 全部两排 - FbDateTimeField FbDateTimeRow 改两排(电影+日程同时生效) 规范:标签主题色 + Bold + fontSmall,必填红 #C0533F 无星号, 标签独占第一排、控件第二排整宽。
This commit is contained in:
@@ -316,18 +316,38 @@ export struct FbEventEditSheet {
|
||||
// ============================================================
|
||||
|
||||
@Builder
|
||||
field(label: string, value: string, hint: string, onChange: (v: string) => void) {
|
||||
Column({ space: 4 }) {
|
||||
/**
|
||||
* 一个输入行(**两排版式**,GLOBAL-FORM-SPEC —— 用户 2026-11-05)。
|
||||
*
|
||||
* 「点击名册里面的"添加",姓名之类的内容全部都按这种形式显示。
|
||||
* 它会按照主题色,加粗大一点显示。**所有地方都需要这样改**。」
|
||||
* 「为了解决字数原因导致输入框左右来回对不齐的问题,我们全部按两排来显示。」
|
||||
*
|
||||
* | 项 | 规则 |
|
||||
* |---|---|
|
||||
* | 标签颜色 | **主题色** `this.accent`(必填红 `#C0533F`) |
|
||||
* | 标签字重 | **Bold** |
|
||||
* | 标签字号 | `fontSmall`(比正文大一号) |
|
||||
* | 版式 | 标签独占第一排,输入框第二排整宽 |
|
||||
* | 必填 | 红色,**无星号** |
|
||||
*/
|
||||
@Builder
|
||||
field(label: string, value: string, hint: string, onChange: (v: string) => void,
|
||||
req: boolean = false) {
|
||||
Column({ space: 6 }) {
|
||||
Text(label)
|
||||
.fontSize(FbMetric.fontTiny)
|
||||
.fontColor(FbColors.faint)
|
||||
.fontSize(FbMetric.fontSmall)
|
||||
.fontWeight(FontWeight.Bold)
|
||||
.fontColor(req ? '#C0533F' : this.accent)
|
||||
.width('100%')
|
||||
TextInput({ text: value, placeholder: hint })
|
||||
.placeholderColor(FbColors.faint)
|
||||
.fontSize(FbMetric.fontSmall)
|
||||
.fontColor(FbColors.ink)
|
||||
.backgroundColor(FbColors.inputBg)
|
||||
.borderRadius(FbMetric.radiusS)
|
||||
.height(40)
|
||||
.height(42)
|
||||
.width('100%')
|
||||
.padding({ left: 12, right: 12 })
|
||||
.onChange((v: string): void => {
|
||||
onChange(v);
|
||||
|
||||
Reference in New Issue
Block a user