🔍 记录详情(RecordDetail)

基于画面布局(Page Layout)渲染记录的字段值,支持 ExpandableSection 折叠区域、多列布局和 Picklist 值翻译。

概述

RecordDetail 是前台查看单条记录详情的组件。它根据配置的画面布局(Page Layout)对记录数据进行格式化渲染,支持区域折叠、多列布局、Picklist 值翻译等功能。

🖼️
RecordDetail 页面截图 — 待插入
../../images/product/one_platform/record-detail-overview.png

核心功能

1. 基于布局渲染

RecordDetail 完全按照 LayoutBuilder 中配置的画面布局来渲染记录:

LayoutSection → ExpandableSection (可折叠区域)
LayoutColumn → CSS Grid 列
LayoutItem → 字段标签 + 字段值
LayoutColumn
LayoutItem → ...

2. 字段值格式化

字段类型格式化方式示例
DatetoLocaleDateString()2024-01-15
DateTimetoLocaleString()2024-01-15 14:30:00
Currency$X.XX$1,234.56
PercentX.XX%85.50%
Boolean是 / 否
Picklist显示标签(非原始值)进行中
MultiselectPicklist显示标签选项A, 选项B

3. Picklist 值翻译

RecordDetail 会从 Redux Store 中的字段列表查找 Picklist 的选项,将原始值翻译为显示标签。

4. 布局 ID 同步

当 RecordDetail 渲染时,自动将当前布局的 ID 同步到 Redux Store,允许 GlobalHeader 显示"编辑画面布局"按钮。

5. 降级渲染

当没有布局数据时,降级为简单的字段名-字段值列表展示。

页面状态

状态显示内容
无布局数据简单字段列表(字段名: 值)
空值字段灰色 "空" 文本
空 Section自动跳过不渲染
正常按布局渲染的 ExpandableSection

技术要点

  • 语言:TypeScript
  • 布局渲染:跳过空 Section 和无效 LayoutItem
  • Redux 集成:selectObjectFields / setCurrentLayoutId / clearCurrentLayoutId
  • Picklist 查找:支持按 name、fullName、fullName.endsWith 三种方式匹配
  • 组件库:@salesforce/design-system-reactCard, ExpandableSection, Icon

截图

🖼️
RecordDetail 多 Section 展开状态 — 待插入
../../images/product/one_platform/record-detail-expanded.png
🖼️
Section 折叠状态 — 待插入
../../images/product/one_platform/record-detail-collapsed.png
🖼️
Picklist 字段显示标签对比 — 待插入
../../images/product/one_platform/record-detail-picklist.png
🖼️
无布局数据时的降级渲染 — 待插入
../../images/product/one_platform/record-detail-fallback.png
🖼️
空值字段灰色显示效果 — 待插入
../../images/product/one_platform/record-detail-empty.png

需要定制化解决方案?

我们的团队可基于现有产品为您量身打造专属 Salesforce 工具链。

联系我们