我正在尝试在 Web 组件中使用 Polymer 2 的“paper-dialog”标签。
我试图检测用户何时单击取消按钮与保存/确定按钮。
文档说要为“iron-overlay-closed”创建一个事件,以检测何时单击 OK/Save 按钮。
我的问题是即使我单击取消按钮,'iron-overlay-closed' 也会触发。
根据我对文档的阅读,只有具有 dialog-confirm 属性的按钮才会触发事件。
<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");
}