本篇参考:
salesforce零基础学习(九十五)lightning out
salesforce零基础学习(一百一十)list button实现的一些有趣事情
Salesforce虽然功能很强大,但是需要吐槽的就是ListView创建custom button操作。本篇整理一下目前可以进行ListView以及Related ListView的Button的操作。
一. Mass Quick Action
1. 介绍
通过Mass Quick Action,用户可以从ListView或者 Related ListView最多一次创建或者修改100条记录。为了了解客户修改了哪些信息,salesforce会在保存以前提供一个window弹出用来展示需要更新的字段信息。
需要注意的是: 只有 Create A Record 以及 Update a Record这两种Action Type支持Mass Quick Action.
2. Demo
1) 需求是Account列表有Mass Edit按钮,点击可以批量修改Account的Active以及Rating字段值。 从下方gif中我们可以看到,此种类型必须要求同一种Record Type,否则无法使用。
2)我们将Demo中的Mass Quick Action进行修改,设置一下Predefined Value,我们发现尽管这两个字段在UI上默认展示,但是提示没有字段变更,所以更新以后我们发现数据没有什么变化。这个设计是很不讨巧的并且很容易让人有疑惑。
3. 优缺点和考虑点
优点:
缺点:
考虑点:
二. Flow
1. 介绍
通过Screen Flow或者 autolaunched flow,基于官方的隐藏的ids变量可以获取到选择到的数据进行操作。Flow可以实现选择数据或者不选择数据情况下的多条数据操作。比如批量创建某个表的数据,或者选择某些数据进行相关操作。通过Custom Button调用Flow的URL便可以执行Flow,通过retUrl参数可以设置Flow执行完成后的链接。
2. Demo
我们还是以上个场景的需求进行举例,通过flow方式来实现。因为需要进行UI操作,我们可以选择Screen Flow,当然如果直接设置默认值不需要有UI的话,我们可以选择 autolaunched flow。这里我们只介绍Screen Flow的场景, autolaunched感兴趣的小伙伴自行尝试。
1) 创建Flow: 我们通过下方gif可以查看设计思路。 先创建一个Screen接收两个选择的内容。之后对选择的id数据进行迭代,迭代的每个item中设置Account信息并且将AccountList添加Account,最后一步进行AccountList的更新操作即可。
这里需要注意一点: 参数ids大小写敏感,一定要写成ids并且设置为multiple value即collection。
2)基于Flow的URL配置custom button,这里我们可以看一下官方提供的trailhead进行更好地理解。
3. 优缺点和考虑点
优点:
缺点:
考虑点:
三. 通过Lightning Out来实现
1. 介绍
我们可以通过visualforce page来获取到ids信息并且list button支持apex page相关配置,如果我们还想通过lwc/aura组件来构建UI情况下, 我们可以考虑lightning out。
2. Demo
参考上方以前的文章内容,有具体的demo实现。
3. 优缺点和考虑点
优点:
缺点:
考虑点:
四. 通过Lightning Aura来实现(部分功能)
1. 介绍
如果我们没有获取选中Id的需求,只是批量数据创建的场景,可以使用Aura来实现。Aura实现 isURLAddressable接口。然后通过URL方式进行访问,从而实现操作方式。
2. Demo
我们想批量创建Lead数据,基于指定的命名规则来操作然后批量保存。部分代码实现如下:
MassCreateLead.cmp
<aura:component implements="lightning:isUrlAddressable"> demo used, please add component to finish this </aura:component>
放在列表以及效果如下:
3. 优缺点和考虑点
优点:
缺点:
总结:篇中总结关于ListView的Button创建以及使用场景,有错误地方欢迎指出,有不懂欢迎留言。如果大家有其他的更好的方法欢迎留言。