Configure a Component for Flow Screens

DEX475 - Flows

📄 第 343 页 🎬 视频课程

课程章节介绍

我们来讲讲怎么为流屏幕配置组件。这个东西听起来有点复杂,但其实拆开看就明白了。 首先,要让你的组件出现在 Flow Builder 的屏幕里,你得在组件的配置文件中加上 `lightning__FlowScreen` 这个目标。同时,你还需要在 `targetConfig` 里定义好属性。这些属性就是将来管理员在 Flow 里能设置或接收的值。 接下来,每个属性都有一个“角色”,它控制数据是往哪个方向走的。 - 如果设成 `inputOnly`,那这个值只能在 Flow Builder 里由管理员设置,组件就只能接收,没法改完传回去。 - 如果设成 `outputOnly`,那就反过来,组件会产生一个值,然后往回传给 Flow。 - 要是你不写角色,那就是双向都可以,数据既能进来,也能出去。 属性的类型有好几种,包括最常见的字符串、布尔值、日期、日期时间等标准类型,也可以直接引用一个记录变量,这时候就要用到 `@salesforce/schema` 来指定对象。 别忘了,在 JavaScript 文件里,你必须给这些属性加上 `@api` 装饰器,这样它们才能和 Flow 对接上。 最后说说运行时要注意的几个坑,非常重要。 - 管理员不填值的时候,Flow 传过来的是 `null`,所以你的组件一定要能处理空默认值,别崩了。 - 如果组件被隐藏了,它的输出属性会在导航时被自动设为 `null`。 - 还有,所有输入属性本来默认也是输出属性,这个特性要心里有数。 - 最关键的一点:如果你想在运行时让 Flow 感知到属性变化,比如为了触发反应性和条件可见性,就必须手动触发 `FlowAttributeChangeEvent` 事件,不然 Flow 不会理会你的改动。 记住这几点,你就能顺利地把 Lightning Web Component 接入 Flow 画面了。有什么问题随时问我。

关键词

LWC Lightning Web Components Salesforce