Skip to content

[fields] Field.file 在 inline grid 退化为文本框、无法上传,且被自动子表列排除 #2360

Description

@baozhoutao

概述

子对象(masterDetail inlineEdit:'grid' 或 formView subform)里放 Field.file:

  1. 自动生成的子表列丢弃 file 字段 —— 须在 subform columns 显式声明才作为列出现。
  2. 即便显式声明为列,内联表格格子里渲染成 <input type=text> 文本框(带 file:* class 但 type=text),整页无 input[type=file]无法在表格里真正上传
  3. 真正的上传控件只在点开该行 ↗ 展开的子记录表单里才有。

定位

  • 自动列排除:packages/plugin-detail/src/.../RelatedList.tsx:572, 588(SKIP_TYPES 含 file)。
  • 内联退化:packages/fields/src/widgets/GridField.tsx:42, 730(无 file 分支,落 text Input)。
  • 上传控件:packages/fields/src/index.tsx:2160(FileField 仅表单注册)。

影响

「明细表每行上传附件/图片」是常见需求(费用明细附单据等),内联表格里做不到,只能逐行展开上传,体验差。

期望

  • 内联子表格支持 file/image 字段渲染真正的上传控件(紧凑「上传」按钮 / 缩略图);
  • 自动生成子表列时不默认丢弃 file 字段(或提供开关)。

来源(项目 dogfood):steedos-labs/os-tianshun-mtc#33

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions