Question:
How do I automatically execute a function whenever my
<paper-dialog>
element is closed?
Version: Polymer 1.0
Code:
<paper-dialog id="paper-id"
entry-animation="scale-up-animation"
exit-animation="scale-down-animation">
<sample-element></sample-element>
</paper-dialog>
paper-dialog
inherits the Polymer.IronOverlayBehavior
, which has the iron-overlay-opened
and iron-overlay-closed
events.
<paper-dialog
on-iron-overlay-opened="_myOpenFunction"
on-iron-overlay-closed="_myClosedFunction"></paper-dialog>
iron-overload-opened
event)Even this is old topic, there is still 1 thing that people should know and be aware of:
I highly recommend you to also check event.target
inside your listener function. For example, if you have another element using iron-overlay
inside paper-dialog
, closing that elements will trigger listener on paper-dialog
. (you can try this with vaadin-date-picker
).
So:
<paper-dialog on-iron-overlay-closed="_myClosedFunction"></paper-dialog>
and then _myClosedFunction
:
_myClosedFunction(e) {
if(e.target.nodeName == "PAPER-DIALOG") {
//...toDo stuff...
}
}
Now you are guaranteed that whenever only paper-dialog is closed, your code will be executed
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With