问题
导入向导第 2 步(字段映射):当对象存在必填字段而 CSV 中没有对应列时,「下一步」按钮被禁用——但界面上没有任何提示说明缺了哪个必填字段。用户面对一个灰掉的按钮无从下手。
位置:packages/plugin-grid/src/ImportWizard.tsx#L2282 —— missingRequired(L1641 计算)只用于禁用按钮,从不渲染。
真机复现(2026-07-17)
framework showcase 的 showcase_account(status 必填 select)导入不含 status 列的 CSV:
name,industry,annual_revenue
QA-1,technology,1000000
三列全部显示「已映射」、无任何错误提示,「下一步」持续禁用。实际测试中操作者(对对象 schema 不熟的典型用户)卡住数分钟,只能靠读源码才定位到缺 status。补上该列后按钮立即可用。
建议修法
missingRequired.length > 0 时,在映射表格下方(或按钮旁)渲染明确提示,例如:「以下必填字段未在文件中出现:生命周期(status)。请在文件中补充该列,或返回上一步。」字段名用 label(name)格式。禁用逻辑本身保留。
验收标准
- 缺必填列时界面列出全部缺失字段的 label,提示随映射变化实时更新。
- 补齐后提示消失、按钮可用。
- 组件测试覆盖。
—— 发现于 framework#2678 批量写入路径专项测试的真机 UI 环节(测试报告见 framework#2678 评论)。
问题
导入向导第 2 步(字段映射):当对象存在必填字段而 CSV 中没有对应列时,「下一步」按钮被禁用——但界面上没有任何提示说明缺了哪个必填字段。用户面对一个灰掉的按钮无从下手。
位置:packages/plugin-grid/src/ImportWizard.tsx#L2282 ——
missingRequired(L1641 计算)只用于禁用按钮,从不渲染。真机复现(2026-07-17)
framework showcase 的
showcase_account(status必填 select)导入不含status列的 CSV:三列全部显示「已映射」、无任何错误提示,「下一步」持续禁用。实际测试中操作者(对对象 schema 不熟的典型用户)卡住数分钟,只能靠读源码才定位到缺
status。补上该列后按钮立即可用。建议修法
missingRequired.length > 0时,在映射表格下方(或按钮旁)渲染明确提示,例如:「以下必填字段未在文件中出现:生命周期(status)。请在文件中补充该列,或返回上一步。」字段名用 label(name)格式。禁用逻辑本身保留。验收标准
—— 发现于 framework#2678 批量写入路径专项测试的真机 UI 环节(测试报告见 framework#2678 评论)。