我有一个快速动作可以打开光环闪电组件。因为我有一个要求,当快速操作被右上角的“X”关闭按钮(而不是取消按钮)关闭时,我需要执行一些逻辑。
我搜索了很多文章,其中大多数都解释了通过单击取消按钮来关闭快速操作。我想知道我们是否可以在“X”关闭按钮关闭快速操作时编写一些逻辑,或者有什么方法可以捕获此关闭按钮的 onClick 事件。
我无法分享任何代码片段,因为我没有编写任何代码片段,但我仍在寻找解决方案。
我有一个快速动作可以打开光环闪电组件。因为我有一个要求,当快速操作被右上角的“X”关闭按钮(而不是取消按钮)关闭时,我需要执行一些逻辑。
我搜索了很多文章,其中大多数都解释了通过单击取消按钮来关闭快速操作。我想知道我们是否可以在“X”关闭按钮关闭快速操作时编写一些逻辑,或者有什么方法可以捕获此关闭按钮的 onClick 事件。
我无法分享任何代码片段,因为我没有编写任何代码片段,但我仍在寻找解决方案。
你见过光环组件生命周期,尤其是围绕(重新)渲染组件的东西吗?您可以附加“取消渲染”调用所需的内容。
把这个放进去 myComponent/myComponentRenderer.js
试试?
({
unrender: function () {
this.superUnrender();
alert('You\'re closing me, I thought we were friends');
}
})
或者看看处理aura:valueDestroy
。我的意思是渲染器应该只是尝试清理一些自定义 DOM 的东西,也许是释放内存,不应该运行业务逻辑。如果有更合适的系统事件- 也许玩那个?
您是否尝试过创建自定义事件来处理此问题?
参考:Lightning Aura 组件开发人员指南:创建自定义组件事件
<aura:event>
使用.evt 资源中的标签创建自定义组件事件。事件可以包含可以在事件触发之前设置并在事件处理时读取的属性。type="COMPONENT"
在<aura:event>
组件事件的标记中使用。例如,这个 c:compEvent 组件事件有一个名为 的属性message
。
1. <!--c:compEvent-->
2. <aura:event type="COMPONENT">
3. <!-- Add aura:attribute tags to define event shape.
4. One sample attribute here. -->
5. <aura:attribute name="message" type="String"/>
6. </aura:event>
7.
触发事件的组件可以设置事件的数据。要设置属性值,请调用event.setParam()
或event.setParams()
。事件中设置的参数名称必须与事件中的name
属性匹配<aura:attribute>
。例如,如果你开火c:compEvent
,你可以使用:
1.
2. event.setParam("message", "event message here");
3.
处理事件的组件可以检索事件数据。要检索此事件中的属性值,请调用event.getParam("message")
处理程序的客户端控制器。