升级到动态表单(01 Upgrade to Dynamic Forms)
记录页往往会堆满一个又一个字段,变得相当拥挤。所有字段都很重要,但 Salesforce 用户需要 100% 的时间都看到它们吗?答案是:不需要。本项目你将学习 Dynamic Forms(动态表单)——从迁移到定制:用 Lightning App Builder 把 Account 记录页升级为动态表单,再为 SLA 相关字段添加"仅当 Active = Yes 时显示"的可见性过滤器。全程无需创建多套页面布局。
完成本项目后,你将能够:
- 把记录页迁移到 Dynamic Forms;
- 格式化记录字段,使其仅在特定条件下显示。
动态表单简介(一):问题(Introduction to Dynamic Forms (1): The Problem)
先看看 Dynamic Forms 要解决的问题。Salesforce 的记录页会随着时间累积几十个字段,虽然每个字段都有用途,但并非每个字段在所有场景下都相关。
以汽车经销店为例:
- 他们在 Salesforce 里追踪车辆;
- 有一个 "4-Wheel Drive(四轮驱动)" 字段;
- 它需要对每辆车都显示吗?不需要——只有 SUV 和卡车才相关,对轿车来说它只是噪音。
过去处理这个问题的唯一办法是创建多套页面布局:为 SUV 建一套布局(显示四驱字段)、为轿车建一套(隐藏四驱字段)、为卡车再建一套……然后用记录类型做分配。这意味着要维护 3 套、4 套甚至更多布局,每次字段变更都要在所有布局之间同步——费时费力、难以维护、无法扩展。
一定还有更好的办法。确实有——那就是 Dynamic Forms。
动态表单简介(二):解决方案(Introduction to Dynamic Forms (2): The Solution)
Dynamic Forms = 在单一页面布局上的字段级可见性规则。它的工作原理是:
- 记录页上的每个字段都可以有一个可见性过滤器;
- 过滤器检查另一个字段的取值;
- 条件满足 → 字段显示;
- 条件不满足 → 字段隐藏(不是删除,只是视觉上隐藏)。
相比多套页面布局,它的优势是:
- 只需维护一套布局(不是 3 套、5 套);
- 字段只是视觉隐藏,在报表、仪表盘和 API 中仍然可用;
- 改动即时生效,无需布局同步;
- 管理员无需代码,用 Lightning App Builder 即可配置规则。
关键洞察:隐藏的字段并没有被删除——报表看得到它们、仪表盘包含它们、API 依然返回它们。可见性过滤器只影响用户在记录页上看到什么。这对 Account 上的 SLA 字段来说完美契合:你想为所有账户追踪 SLA 数据,但只需在账户处于 Active 状态时显示 SLA 到期日和序列号。Dynamic Forms = 在正确的时间、在正确的记录上,显示正确的字段。
准备动手实践动态表单(Ready to Get Hands-on with Dynamic Forms?)
开始构建前,先创建一个全新的 Trailhead Playground:
- 滚动到本页底部;
- 点击 Playground 名称;
- 选择 Create Playground;
- 等待 3–4 分钟。
务必使用全新的 Playground!Dynamic Forms 的迁移是单向过程——一旦升级了页面,就不容易回退。全新的 Playground 能确保你在一个"犯错无妨"的干净环境里操作。它自带标准的 Account 对象和所需的全部字段:Active、SLA Expiration Date、SLA 和 SLA Serial Number。这些字段就在 Account 记录页的 Additional Information 区域——正是我们要应用 Dynamic Forms 过滤器的地方。创建好后保持标签页打开,开始动态化吧。
开始动态化(一):升级到动态表单(Get Dynamic (1): Upgrade to Dynamic Forms)
把 Account 记录页从传统布局迁移到 Dynamic Forms:
- 点击 App Launcher,选择 Sales 应用;
- 点击 Accounts 标签,点击 Recently Viewed 旁的下箭头,选择 All Accounts;
- 打开 Grand Hotels & Resorts Ltd 记录;
- 点击设置图标,选择 Edit Page(这会打开 Lightning App Builder);
然后在页面编辑器里操作:
- 点击页面编辑器中的 Details 标签,选中 Details 区域的内容;
- 保持 Details 区域选中,在 Record Detail 面板中点击 Upgrade Now 升级到 Dynamic Forms;
- 点击 Next;
- 选中 Account Layout 旁边的单选按钮;
- 点击 Finish。
发生了什么?传统页面布局被转换成了 Dynamic Forms。升级前,Details 区域是一个整体块,你无法控制单个字段的可见性;升级后,每个字段和字段区域都变成了 App Builder 中的独立组件——你可以拖动排序、给特定字段加可见性过滤器、按区域控制列布局。这是一键操作,却从根本上改变了页面的定制方式;升级后这个页面就无法再回到传统布局了——这正是我们用 Playground 的原因。
开始动态化(二):添加字段可见性过滤器(Get Dynamic (2): Add Field Visibility Filters)
现在发挥 Dynamic Forms 的真正威力——让 SLA 字段仅在 Account 为 Active 时显示:
- 滚动到 Additional Information 区域,点击该区域,在右侧面板把列布局设为 1 Column;
- 把 SLA Expiration Date 字段拖到 SLA Serial Number 字段正上方,使排序更合理;
给 SLA Expiration Date 字段添加可见性过滤器:
- 选中 SLA Expiration Date 字段;
- 在右侧面板点击 Add Filter;
- 配置过滤器:Field 输入并选择 Active,Operator 设为 Equal,Value 调整为 Yes;
- 点击 Done。
这个过滤器的含义是:仅当 Active = Yes 时显示此字段;当 Active = No 时,字段隐藏。字段上会出现一个橙色眼睛图标——这是"该字段已应用过滤器"的视觉提示。在 App Builder 里无需点进每个字段的设置,扫一眼布局就能通过橙色眼睛图标识别出哪些字段有可见性过滤器。
开始动态化(三):应用到所有 SLA 字段并激活(Get Dynamic (3): Apply to All SLA Fields & Activate)
为 Additional Information 区域里其它两个 SLA 字段重复同样的过滤器:
- 选中 SLA 字段 → Add Filter → Field: Active → Operator: Equal → Value: Yes → Done;
- 选中 SLA Serial Number 字段 → 添加同样的过滤器 → Done。
现在三个 SLA 字段都带上了橙色眼睛图标,它们共享同一条规则:"仅当 Active = Yes 时可见"。
激活你的改动:
- 点击 Save,再点击 Activate;
- 点击 Assign as Org Default;
- 选择 Desktop and phone;
- 点击 Next → Save;
- 点击左上角的返回箭头退出 Lightning App Builder。
你的 Dynamic Forms 现在已在组织里每一个 Account 记录页上生效!SLA 字段会根据每个 Account 的 Active 状态出现或消失。这就是 Dynamic Forms 的优雅之处——一套布局、智能行为、无需记录类型或多套页面布局。
测试动态表单(一):切换与观察(Test the Dynamic Forms (1): Toggle & Observe)
在真实记录上看看 Dynamic Forms 的效果:
- 如有必要,导航回 Grand Hotels & Resorts Ltd 记录;
- 点击 Details 标签;
- 在 Additional Information 区域,点击 Active 字段右侧的铅笔图标进行编辑;
- 在 Yes 和 No 之间切换,观察三个 SLA 字段实时出现和消失!
Active = Yes → SLA 字段显示;Active = No → SLA 字段隐藏。切换是即时的,无需刷新页面、无需导航,只是字段对数据做出反应。
重要的一点:
- 隐藏的字段并未被删除;
- 它们只是被视觉隐藏;
- 在报表、仪表盘、列表视图和 API 中仍然可用。
这是可见性控制,不是数据删除。Dynamic Forms 是实时的——随着你编辑字段值,其它字段立即响应,这与只在页面加载时生效的验证规则或页面布局分配有本质区别。
测试动态表单(二):你的成果(Test the Dynamic Forms (2): What You Accomplished)
你成功完成了:
- 一键升级了传统记录页到 Dynamic Forms;
- 基于 Active 字段的取值,为三个字段添加了可见性过滤器;
- 把布局激活为组织默认,同时作用于桌面和移动端;
- 测试了动态行为——切换 Active,SLA 字段即时显隐。
结果对比:
- 之前:所有字段一直可见 → 页面拥挤、信息无关;
- 之后:SLA 字段仅在 Active 账户上出现 → 页面干净、数据相关。
一套布局、智能可见性、无需多套页面布局、无需代码、没有复杂度。这就是 Dynamic Forms 的力量——在正确的时间呈现正确的信息。你学到的"升级 → 添加过滤器 → 激活"模式,可以应用到任何对象的任何记录页。回顾你自己组织里的页面时不妨问问:哪些字段能从条件可见性中受益?哪里可以减少杂乱?Dynamic Forms 让你用点击而非代码来回答这些问题。








