Flow中调用javascript
Salesforce的Flow中的Formula功能较弱,稍微复杂一点的功能,以前一般都调用Invokable的apex方法,但觉得需要调用服务端,效率不高。有些功能不牵涉到后台数据,完全可以通过Javascript来做。
但是一般情况下,只有lwc里才有javascript。而Flow不能直接调用lwc,只能加个Screen组件,但如果javascript不需要界面,这个方法就有些笨拙了。
最终考虑用local action来实现。所谓local action,其实就是一个aura组件,只不过不调用服务端。
先建一个aura组件,关键有两点:
1. cmp文件里,要注明implements="lightning:availableForFlowActions" 属性。
2. controller里要有invoke方法。
至于输入输出参数,先在cmp文件里设定
<aura:attribute name="foo" type="String" />
<aura:attribute name="bar" type="Boolean" />
然后在design文件里也设定
<design:attribute name="foo" Label="Input" />
<design:attribute name="bar" Label="Output"/>
然后在invoke方法里写处理逻辑:
let input = component.get("v.foo");
component.set("v.bar", foo == null ? true : false);
最后在Flow里加上这个Local action即可。在action的属性里可以找到foo和bar两个参数。
需要注意的是local action的副作用是会提交事务。所以如果不希望提交事务,则不能用local action。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律