繁体   English   中英

以闪电般的快速动作捕获 X 关闭按钮事件

[英]Capture X close button event in lightning quick action

我有一个快速动作可以打开光环闪电组件。 因为我有一个要求,当快速操作被右上角的“X”关闭按钮(而不是取消按钮)关闭时,我需要执行一些逻辑。

在此处输入图像描述

我搜索了很多文章,其中大多数都解释了通过单击取消按钮来关闭快速操作。 我想知道当快速操作被“X”关闭按钮关闭时我们是否可以编写一些逻辑,或者有什么方法可以捕获这个关闭按钮的 onClick 事件。

我无法分享任何代码片段,因为我没有编写任何代码片段,但我仍在寻找解决方案。

你见过光环组件生命周期,尤其是围绕(重新)渲染组件的东西吗? 您可以附加“取消渲染”调用所需的内容。

把它放在myComponent/myComponentRenderer.js中试试?

({
    unrender: function () {
        this.superUnrender();
        alert('You\'re closing me, I thought we were friends');
    }
})

在此处输入图像描述

或者看看处理aura:valueDestroy 我的意思是渲染器应该尝试清理一些自定义 DOM 的东西,也许是免费的 memory,不应该运行业务逻辑。 如果有更合适的系统事件- 也许玩那个?

您是否尝试过创建自定义事件来处理此问题?
参考:Lightning Aura 组件开发人员指南:创建自定义组件事件

使用 a.evt 资源中的<aura:event>标记创建自定义组件事件。 事件可以包含可以在事件触发之前设置并在事件处理时读取的属性。 <aura:event>标记中为组件事件使用type="COMPONENT" 例如,这个 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() 事件中设置的参数名称必须与事件中<aura:attribute>name属性匹配。 例如,如果您触发c:compEvent ,您可以使用:

    1.
    2. event.setParam("message", "event message here");
    3.

处理事件的组件可以检索事件数据。 要检索此事件中的属性值,请在处理程序的客户端 controller 中调用event.getParam("message")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM