单击 p-dialog 关闭(X)按钮时如何调用角度函数?
我已经搜索并尝试过这个
(onHide)="cancel()"
。但它不起作用。请分享您的解决方案。
我知道我们可以使用一个close/cancel
按钮来隐藏弹出窗口。但在我的场景中,我想在单击(X)按钮时调用一个事件。
单击 p-dialog 关闭(X)按钮时如何调用角度函数?
我已经搜索并尝试过这个
(onHide)="cancel()"
。但它不起作用。请分享您的解决方案。
我知道我们可以使用一个close/cancel
按钮来隐藏弹出窗口。但在我的场景中,我想在单击(X)按钮时调用一个事件。
(onHide)="cancel()"
根据这个Plunkr实际上工作正常。
尝试: (click)="cancel()" 代替。
我有同样的错误,但我使用点击方法解决了它。问候:)
您应该使用如下两个事件:
onBeforeHide: EventEmitter<any>;
onAfterHide: EventEmitter<any>;
在 html 中用作
(onBeforeHide)="onBeforeHide()"
(onAfterHide)="onAfterHide()"
一种解决方法是使用布尔值来显示 p-dialog
[(visible)]="myBoolean"
当您想要显示 p-dialog 时,您将该布尔值设置为 true 然后使用 (click) 事件。例如
(click)="doSomething($event)".
在你的 ts 做
doSomething(event) {
// If we are clicking the close button and not something else
if (event.target.className === "fa fa-fw fa-close") {
myBoolean = false;
}
}
只需添加以上内容,如果您[(visible)]="myBool_1 || myBool_2"
依赖于多个变量。
单击X
将尝试将最后一个变量设置myBool_2
为 false,我们可以通过使用 setter 函数来利用它。
所以[(visible)]="isVisible"
class component {
public get isVisible(): boolean {
return myBool_1 || myBool_2
}
public set isVisible(val: boolean) {
this.myBool_1 = this.myBool_2 = val;
this.doSomethingOnClose()
}
}