gpt4 book ai didi

angular - p-dialog onHide 在 Angular 2 组件中不起作用 - primeng

转载 作者:太空狗 更新时间:2023-10-29 17:27:04 27 4
gpt4 key购买 nike

我在 Angular 2 应用程序中使用 primeng 并面临这个问题 (stackoverflow question)

虽然已接受的答案中提供的 plunkr 有效,但在我的情况下无效。我有一个单独的组件,它根据来自父组件的输入加载。我想在子组件关闭/隐藏时切换可见性标志。

这是代码片段

 <p-dialog header="Assets Management" [(visible)]="showDialog" modal="modal" [closable]="true" (onHide)="close()" appendTo="body">
.. some content ..
</p-dialog>

在组件中,我有:

@Component({
selector: 'view-car-colors',
templateUrl: '/view-car-colors.html',
inputs: ['showDialog'],
outputs: ["onCloseDialog"],
})
export class ViewCarColorsComponent {
private showDialog: boolean = false; //default close
private onCloseDialog: EventEmitter<any> = new EventEmitter();

public close(): void {
this.showDialog = false;
//emit this to its parent
this.onCloseDialog.emit({ hasChanges: true });
}
}

最后在我的父组件中,我这样调用它:

<view-car-colors [showDialog]="showCarColorsDialog" (onCloseDialog)="onCarColorsCloseDialog($event)"></view-car-colors>

showCarColorsDialog 根据按钮点击而改变。

private onCarColorsCloseDialog($event: any): void {
this.showCarColorsDialog = false;
if ($event.hasChanges) {
//fetch the changes again
this.getCarColors();
}
}

我在多个地方使用了 primeng 控件,它们都工作正常,但只是有这个问题,所以我确定这不是版本问题。

最佳答案

试试 (onAfterHide)="close()"

https://github.com/primefaces/primeng/issues/956

关于angular - p-dialog onHide 在 Angular 2 组件中不起作用 - primeng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44065786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com