可以通过在HTML标签中定义属性[autoClose]="true"来启用弹出框自动关闭。但是,这会导致无法同时打开多个弹出框。因此,我们需要在管道符号“|”后面添加一个唯一的标识符,以便在同一时间内只能打开一个弹出框。以下是实现的示例代码:
HTML代码:
Typescript代码: import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'unique' }) export class UniquePipe implements PipeTransform {
transform(value: any[], identifier: any): any[] { return value.filter((v, i, a) => a.findIndex(t => t[identifier] === v[identifier]) === i); }
}
在示例代码中,我们使用了一个名为“unique”的管道,该管道过滤掉重复的标识符,并返回一个新的数组。使用标识符作为唯一代表在同一时间内只允许打开一个弹出框。您可以使用其他标识符,以便同时打开多个不同的弹出框。