zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP Spartacus Popover Component 显示与否的逻辑判定

SAP逻辑 显示 Spartacus Component 判定 与否
2023-09-14 09:02:54 时间

本文同这个 Github issue 相关。

  1. Directive 8023 created

  1. 6348 Directive created

  1. 回车,6348 创建 7054 Component

  1. 点击users:

此时7054 Component 被6348 Directive 关闭(红色).

但是, 为什么又一口气生成了 4 个 Directive instance?

再次回车,此时最后一个被新建的Directive 实例 5865 ,负责创建新的popover 4705.

如果把重现步骤第三步的敲回车键改成鼠标点击,则问题完全不能重现了。

点两下,第一下,popover 从获得focus的状态转换为失去focus的状态。点击第二下,触发outside click,关闭popover.

点击第一下,Popover失去focus,蓝色边框消失:

点击第二下,popover被关闭。

在空白区域单击第一下时,this.insideClicked 从undefined改成false,同时失去focus:

单击第二下的时候:

由于下图第160行的判断,关闭popup:


更多Jerry的原创文章,尽在:“汪子熙”: