课程章节介绍
好了,我们来聊聊这个知识点。在Lightning Web Components里,我们有时候需要给Flow里的操作做一个自定义的属性编辑器,就是用来配置操作的输入参数的。这个幻灯片呢,就用一个HTML电子邮件的操作作为例子,来展示全流程怎么做。
首先,在Apex类里,我们用@InvocableMethod注解的时候,通过一个配置项Editor指定一个自定义的编辑器组件。比如这里写的是Editor='c-html-email-editor',意思就是告诉Flow:“我不用默认的编辑器,要用这个叫html-email-editor的Lightning组件来让用户填参数。”
那这个编辑器组件长什么样呢?它的HTML部分是经过样式化设计的。它把输入项很清楚地分成几个逻辑区块,比如大写字体区、主题区、还有邮件正文区,这样用户一看就明白该填什么。
接着看JavaScript部分。它用getter方法,通过inputVariables数组,按名称去取出每个输入字段的值。这样在组件里就能拿到用户填的这些值了。
然后有个很关键的validate方法。Flow Builder在用户点击保存时会调用这个方法来校验输入。它负责检查电子邮件地址格式有没有问题。如果通过,返回空数组;如果出错,就返回一个包含{key, errorString}对象的数组。key是出错的字段名,errorString是提示信息。这样Flow Builder就能自动显示错误数量,提醒用户。
顺便说,每当用户在编辑器里改动了某个字段,会触发一个叫configuration_editor_input_value_changed的方法。这个方法会派发一个事件,把字段的name、新值newValue和值的数据类型newValueDataType一起送出去,这样Flow就能实时捕捉变化。
最后看一下组件的XML配置文件。它很简单,只需要写上apiVersion和isExposed就行了,连targets都不用写。为什么?因为这里不是独立使用的组件,而是通过Apex类的@InvocableMethod引用的,所以不需要暴露给更多目标类型。
这就是HTML电子邮件操作示例里,自定义属性编辑器的实现方式。你以后做类似的功能,照着这个模式来就行。
关键词
LWC
Lightning Web Components
Salesforce