我有一个angular应用程序,其中已经实现了ngx-dialogs作为删除项目确认对话框,并且它可以正常工作。它提示用户删除之前,以及当用户单击“是”时,因此从列表中删除该项目,但我想在删除api响应时自动关闭该对话框。

这是我的component.ts代码,在其中我要像这样在delete函数中创建对话框



delete = (rowData: Category) => {
    if (rowData) {
        this.confirmAlert.create({
            title: 'Delete Warning',
            message: 'Are you sure, you want to delete Company?',
            confirm: () => {
                this._utilityService.showSpinner();
                this._dataService.delete(this._const.category + '/' + rowData._id).subscribe((delres: any) => {
                    console.log('Self Category Delete Response : ', delres);
                    this._utilityService.hideSpinner();
                    delres.success ? this._utilityService.showToster(delres.message, 'Notification', 'success') : this._utilityService.showToster(delres.message, 'Notification', 'danger');
                    this.reset();
                    this.getCategory();
                }, (error: any) => {
                    this._utilityService.hideSpinner();
                    console.log('Self Category Delete Error : ', error);
                    this._utilityService.showToster('Having some issue, Please try later!', 'Warning', 'warning')
                    this.reset();
                    this.getCategory();
                })
            },
        })
    }
}




注意:当我尝试这个

document.querySelector('.ngx-dialog').style.display = "none"


在删除api响应中,因此它显示了这样的错误

Property 'style' does not exist on type 'Element'


删除api响应后如何关闭此对话框?

最佳答案

我已经找到问题的答案。当我试图通过javascript这样获取元素时

document.querySelector('.ngx-dialog')).style.display = "none"


所以我得到这样的erorr

Property 'style' does not exist on type 'Element'


所以在那之后我尝试了一下,它非常适合我

(<HTMLElement>document.querySelector('.ngx-dialog')).style.display = "none";

10-05 20:50