首页 > 解决方案 > ngbPopover 不会关闭,会在加载时打开

问题描述

我想在页面加载或不触发按钮的情况下显示弹出框,并且永远不会关闭我在 Angular 中使用 ngbPopover。

<button placement="left" (click)="openQuestionnaire()" [ngbPopover]="popContent" >0/4</button>

在这里使用参考:https ://ng-bootstrap.github.io/#/components/popover/examples

标签: angularng-bootstrap

解决方案


您必须将此属性添加到您的按钮:

[autoClose]="false"

然后您的按钮将如下所示:

<button placement="left" 
        (click)="openQuestionnaire()" 
        [ngbPopover]="popContent" 
        [autoClose]="false" >0/4</button>

从您共享的链接中,我发现了这一点:

<button type="button" class="btn btn-outline-secondary mr-2" 
        ngbPopover="What a great tip!" 
        [autoClose]="false" 
        triggers="manual" 
        #p="ngbPopover" 
        (click)="p.open()" 
         popoverTitle="Pop title">
             Click me to open a popover
</button>

根据您的评论,您可以在页面中显示组件时触发它:

<button placement="left" 
        #pop="ngbPopover"
        (click)="openQuestionnaire()" 
        [ngbPopover]="popContent" 
        [autoClose]="false" >0/4</button>

在您的组件类中:

ngOnInit(){
    if(!pop.isOpen()){
        pop.open();
    }
}

推荐阅读