Getting Flow Variables with Flow.Interview

DEX455 - Flow 与 Formula Evaluation:Apex 集成 Flow Builder 完全指南

📄 第 292 页 🎬 视频课程

课程章节介绍

同学,我们来看一下 Flow.Interview 这个 Apex 类里面一个很有用的方法,叫 getVariableValue。这个名字很直白,就是获取流变量的值。 场景是这样的:我们可能在 Visualforce 页面里嵌入一个流,这个流本身可能还会调用子流,就好像俄罗斯套娃一样,一层套一层。那么问题来了,我们的页面怎么知道当前到底运行到哪一步了呢? 这时候就可以利用一个统一约定的变量,比如叫 vaBreadCrumb,也就是面包屑。你想象一下网页顶部那一行 “首页 > 产品 > 详情” 的导航路径,我们就想动态显示这种导航信息。 getVariableValue 方法允许我们在 Apex 代码里,拿到当前正在运行的那个流里面 vaBreadCrumb 的值,不管这个流是主流程,还是被主流程调用的子流。只要它含有这个变量名,我们就可以取到。 而且,贴心的 Salesforce 还考虑了变量可能不存在或者值为空的情况。你可以在获取的时候传入一个默认值,如果没取到就返回你指定的内容。比如面包屑例子中,如果没有任何导航信息,就让它返回 “Home” ,这样用户至少知道自己在首页,体验就不会突兀。 所以总结一下,Flow.Interview 的 getVariableValue 就像一把万能钥匙,帮我们跨越主流程和子流程,拿到关键的状态信息,让你的页面和流配合得更默契。 这样讲解,你理解了吗?

关键词

Apex Salesforce Developer Guide