快速上手:动态表单(Dynamic Forms)

动态表单(Dynamic Forms)让你在单一页面布局上用字段级可见性规则控制字段的显示与隐藏,彻底告别多套页面布局的维护噩梦。本项目把 Account 记录页升级为动态表单,为 SLA 相关字段添加"仅当 Active = Yes 时显示"的过滤器并激活为组织默认,亲身体验字段随数据实时显隐的魔力。...

📅 2026/10/11 ✍️ ponybai 🏷️ salesforce, headless

升级到动态表单(01 Upgrade to Dynamic Forms)

slide_2

记录页往往会堆满一个又一个字段,变得相当拥挤。所有字段都很重要,但 Salesforce 用户需要 100% 的时间都看到它们吗?答案是:不需要。本项目你将学习 Dynamic Forms(动态表单)——从迁移到定制:用 Lightning App Builder 把 Account 记录页升级为动态表单,再为 SLA 相关字段添加"仅当 Active = Yes 时显示"的可见性过滤器。全程无需创建多套页面布局。

完成本项目后,你将能够:

  • 把记录页迁移到 Dynamic Forms;
  • 格式化记录字段,使其仅在特定条件下显示。

动态表单简介(一):问题(Introduction to Dynamic Forms (1): The Problem)

slide_3

先看看 Dynamic Forms 要解决的问题。Salesforce 的记录页会随着时间累积几十个字段,虽然每个字段都有用途,但并非每个字段在所有场景下都相关。

以汽车经销店为例:

  • 他们在 Salesforce 里追踪车辆;
  • 有一个 "4-Wheel Drive(四轮驱动)" 字段;
  • 它需要对每辆车都显示吗?不需要——只有 SUV 和卡车才相关,对轿车来说它只是噪音。

过去处理这个问题的唯一办法是创建多套页面布局:为 SUV 建一套布局(显示四驱字段)、为轿车建一套(隐藏四驱字段)、为卡车再建一套……然后用记录类型做分配。这意味着要维护 3 套、4 套甚至更多布局,每次字段变更都要在所有布局之间同步——费时费力、难以维护、无法扩展。

一定还有更好的办法。确实有——那就是 Dynamic Forms。

动态表单简介(二):解决方案(Introduction to Dynamic Forms (2): The Solution)

slide_4

Dynamic Forms = 在单一页面布局上的字段级可见性规则。它的工作原理是:

  • 记录页上的每个字段都可以有一个可见性过滤器;
  • 过滤器检查另一个字段的取值;
  • 条件满足 → 字段显示;
  • 条件不满足 → 字段隐藏(不是删除,只是视觉上隐藏)。

相比多套页面布局,它的优势是:

  • 只需维护一套布局(不是 3 套、5 套);
  • 字段只是视觉隐藏,在报表、仪表盘和 API 中仍然可用;
  • 改动即时生效,无需布局同步;
  • 管理员无需代码,用 Lightning App Builder 即可配置规则。

关键洞察:隐藏的字段并没有被删除——报表看得到它们、仪表盘包含它们、API 依然返回它们。可见性过滤器只影响用户在记录页上看到什么。这对 Account 上的 SLA 字段来说完美契合:你想为所有账户追踪 SLA 数据,但只需在账户处于 Active 状态时显示 SLA 到期日和序列号。Dynamic Forms = 在正确的时间、在正确的记录上,显示正确的字段。

准备动手实践动态表单(Ready to Get Hands-on with Dynamic Forms?)

slide_5

开始构建前,先创建一个全新的 Trailhead Playground:

  1. 滚动到本页底部;
  2. 点击 Playground 名称;
  3. 选择 Create Playground;
  4. 等待 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)

slide_6

把 Account 记录页从传统布局迁移到 Dynamic Forms:

  1. 点击 App Launcher,选择 Sales 应用;
  2. 点击 Accounts 标签,点击 Recently Viewed 旁的下箭头,选择 All Accounts;
  3. 打开 Grand Hotels & Resorts Ltd 记录;
  4. 点击设置图标,选择 Edit Page(这会打开 Lightning App Builder);

然后在页面编辑器里操作:

  1. 点击页面编辑器中的 Details 标签,选中 Details 区域的内容;
  1. 保持 Details 区域选中,在 Record Detail 面板中点击 Upgrade Now 升级到 Dynamic Forms;
  2. 点击 Next;
  3. 选中 Account Layout 旁边的单选按钮;
  4. 点击 Finish。

发生了什么?传统页面布局被转换成了 Dynamic Forms。升级前,Details 区域是一个整体块,你无法控制单个字段的可见性;升级后,每个字段和字段区域都变成了 App Builder 中的独立组件——你可以拖动排序、给特定字段加可见性过滤器、按区域控制列布局。这是一键操作,却从根本上改变了页面的定制方式;升级后这个页面就无法再回到传统布局了——这正是我们用 Playground 的原因。

开始动态化(二):添加字段可见性过滤器(Get Dynamic (2): Add Field Visibility Filters)

slide_7

现在发挥 Dynamic Forms 的真正威力——让 SLA 字段仅在 Account 为 Active 时显示:

  1. 滚动到 Additional Information 区域,点击该区域,在右侧面板把列布局设为 1 Column;
  2. 把 SLA Expiration Date 字段拖到 SLA Serial Number 字段正上方,使排序更合理;

给 SLA Expiration Date 字段添加可见性过滤器:

  1. 选中 SLA Expiration Date 字段;
  2. 在右侧面板点击 Add Filter;
  3. 配置过滤器:Field 输入并选择 Active,Operator 设为 Equal,Value 调整为 Yes;
  4. 点击 Done。

这个过滤器的含义是:仅当 Active = Yes 时显示此字段;当 Active = No 时,字段隐藏。字段上会出现一个橙色眼睛图标——这是"该字段已应用过滤器"的视觉提示。在 App Builder 里无需点进每个字段的设置,扫一眼布局就能通过橙色眼睛图标识别出哪些字段有可见性过滤器。

开始动态化(三):应用到所有 SLA 字段并激活(Get Dynamic (3): Apply to All SLA Fields & Activate)

slide_8

为 Additional Information 区域里其它两个 SLA 字段重复同样的过滤器:

  1. 选中 SLA 字段 → Add Filter → Field: Active → Operator: Equal → Value: Yes → Done;
  2. 选中 SLA Serial Number 字段 → 添加同样的过滤器 → Done。

现在三个 SLA 字段都带上了橙色眼睛图标,它们共享同一条规则:"仅当 Active = Yes 时可见"。

激活你的改动:

  1. 点击 Save,再点击 Activate;
  2. 点击 Assign as Org Default;
  3. 选择 Desktop and phone;
  4. 点击 Next → Save;
  5. 点击左上角的返回箭头退出 Lightning App Builder。

你的 Dynamic Forms 现在已在组织里每一个 Account 记录页上生效!SLA 字段会根据每个 Account 的 Active 状态出现或消失。这就是 Dynamic Forms 的优雅之处——一套布局、智能行为、无需记录类型或多套页面布局。

测试动态表单(一):切换与观察(Test the Dynamic Forms (1): Toggle & Observe)

slide_9

在真实记录上看看 Dynamic Forms 的效果:

  1. 如有必要,导航回 Grand Hotels & Resorts Ltd 记录;
  2. 点击 Details 标签;
  3. 在 Additional Information 区域,点击 Active 字段右侧的铅笔图标进行编辑;
  4. 在 Yes 和 No 之间切换,观察三个 SLA 字段实时出现和消失!

Active = Yes → SLA 字段显示;Active = No → SLA 字段隐藏。切换是即时的,无需刷新页面、无需导航,只是字段对数据做出反应。

重要的一点:

  • 隐藏的字段并未被删除;
  • 它们只是被视觉隐藏;
  • 在报表、仪表盘、列表视图和 API 中仍然可用。

这是可见性控制,不是数据删除。Dynamic Forms 是实时的——随着你编辑字段值,其它字段立即响应,这与只在页面加载时生效的验证规则或页面布局分配有本质区别。

测试动态表单(二):你的成果(Test the Dynamic Forms (2): What You Accomplished)

slide_10

你成功完成了:

  1. 一键升级了传统记录页到 Dynamic Forms;
  2. 基于 Active 字段的取值,为三个字段添加了可见性过滤器;
  3. 把布局激活为组织默认,同时作用于桌面和移动端;
  4. 测试了动态行为——切换 Active,SLA 字段即时显隐。

结果对比:

  • 之前:所有字段一直可见 → 页面拥挤、信息无关;
  • 之后:SLA 字段仅在 Active 账户上出现 → 页面干净、数据相关。

一套布局、智能可见性、无需多套页面布局、无需代码、没有复杂度。这就是 Dynamic Forms 的力量——在正确的时间呈现正确的信息。你学到的"升级 → 添加过滤器 → 激活"模式,可以应用到任何对象的任何记录页。回顾你自己组织里的页面时不妨问问:哪些字段能从条件可见性中受益?哪里可以减少杂乱?Dynamic Forms 让你用点击而非代码来回答这些问题。


文章来源:Trailhead - Quick Start: Dynamic Forms