Я пытаюсь использовать тег «paper-dialog» для Polymer 2 в веб-компоненте.
Я пытаюсь определить, когда пользователь нажимает кнопку «Отмена» против кнопки «Сохранить / ОК».
Документация гласит, что необходимо создать событие для «железного оверлея-закрытого», чтобы определить, когда нажата кнопка «ОК / Сохранить».
Моя проблема в том, что «железо-оверлей-закрыто» срабатывает, даже когда я нажимаю кнопку отмены.
Из моего прочтения документации только кнопка с атрибутом диалогового подтверждения должна вызывать событие.
<paper-dialog modal backdrdop id="dialog">
<h2>Select Time</h2>
<paper-dialog-scrollable>
<div slot="body">
<p>Body is here</p>
</div>
</paper-dialog-scrollable>
<div id="dialog-buttons">
<paper-button dialog-dismiss>Cancel</paper-button>
<paper-button dialog-confirm autofocus>Save</paper-button>
</div>
</paper-dialog>
Приведенный ниже метод open добавляет слушателя.
Затем метод fireCallback закрывается независимо от того, нажимаю ли я кнопку Сохранить или Отмена.
open()
{
this.$.dialog.addEventListener('iron-overlay-closed', ()=> {this.fireCallback()});
this.$.dialog.open();
}
fireCallback()
{
console.log("closing");
}