基于画面布局(Page Layout)渲染记录的字段值,支持 ExpandableSection 折叠区域、多列布局和 Picklist 值翻译。
RecordDetail 是前台查看单条记录详情的组件。它根据配置的画面布局(Page Layout)对记录数据进行格式化渲染,支持区域折叠、多列布局、Picklist 值翻译等功能。
RecordDetail 完全按照 LayoutBuilder 中配置的画面布局来渲染记录:
| 字段类型 | 格式化方式 | 示例 |
|---|---|---|
Date | toLocaleDateString() | 2024-01-15 |
DateTime | toLocaleString() | 2024-01-15 14:30:00 |
Currency | $X.XX | $1,234.56 |
Percent | X.XX% | 85.50% |
Boolean | 是 / 否 | 是 |
Picklist | 显示标签(非原始值) | 进行中 |
MultiselectPicklist | 显示标签 | 选项A, 选项B |
RecordDetail 会从 Redux Store 中的字段列表查找 Picklist 的选项,将原始值翻译为显示标签。
当 RecordDetail 渲染时,自动将当前布局的 ID 同步到 Redux Store,允许 GlobalHeader 显示"编辑画面布局"按钮。
当没有布局数据时,降级为简单的字段名-字段值列表展示。
| 状态 | 显示内容 |
|---|---|
| 无布局数据 | 简单字段列表(字段名: 值) |
| 空值字段 | 灰色 "空" 文本 |
| 空 Section | 自动跳过不渲染 |
| 正常 | 按布局渲染的 ExpandableSection |
selectObjectFields / setCurrentLayoutId / clearCurrentLayoutId@salesforce/design-system-react 的 Card, ExpandableSection, Icon