8

问题:

<paper-dialog>每当我的元素关闭时,如何自动执行函数?

版本:聚合物 1.0

代码:

<paper-dialog id="paper-id"
              entry-animation="scale-up-animation"
              exit-animation="scale-down-animation">
    <sample-element></sample-element>
</paper-dialog>
4

2 回答 2

13

paper-dialog继承Polymer.IronOverlayBehavior, 有iron-overlay-openediron-overlay-closed事件。

<paper-dialog
  on-iron-overlay-opened="_myOpenFunction"
  on-iron-overlay-closed="_myClosedFunction"></paper-dialog>
于 2015-06-12T19:12:29.043 回答
4

即使这是老话题,人们仍然应该知道和注意一件事:

我强烈建议您也检查一下event.target您的侦听器功能。例如,如果您有另一个使用iron-overlayinsidepaper-dialog的元素,则关闭该元素将触发 listener on paper-dialog。(你可以试试这个vaadin-date-picker)。

所以:

<paper-dialog on-iron-overlay-closed="_myClosedFunction"></paper-dialog>

然后_myClosedFunction

_myClosedFunction(e) {
  if(e.target.nodeName == "PAPER-DIALOG") {
    //...toDo stuff...
  }
}

现在您可以保证只要只关闭纸质对话框,您的代码就会被执行

于 2017-08-22T11:28:59.690 回答