0

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

在此处输入图像描述

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

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

4

2 回答 2

1

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

把这个放进去 myComponent/myComponentRenderer.js试试?

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

在此处输入图像描述

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

于 2021-11-29T15:05:19.763 回答
0

您是否尝试过创建自定义事件来处理此问题?
参考: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")处理程序的客户端控制器。

于 2021-12-06T04:32:21.550 回答