2

我开始与 Neabular 合作,但我正在努力处理文档……</p>

我已经创建了一个带有表单的星云弹出框,我想在表单验证时关闭它,并且在表单未验证时不关闭它。我怎样才能做到这一点 ?

这是代码:

<button [nbPopover]="addMenunItem" nbButton status="success">AJOUTER</button>
<ng-template #addMenunItem>
  <div class="p-4">
    <div class="w-100 pb-4">
      <h5>Créer un menu</h5>
    </div>

    <form [formGroup]="createMenuForm" (ngSubmit)="onSubmit()" novalidate>
      <div class="form-group">
        <input type="text" placeholder="Titre" formControlName="title" class="form-control" [ngClass]="{ 'is-invalid': submitted && f.title.errors }">
        <div *ngIf="submitted && f.title.errors" class="invalid-feedback">
            <div *ngIf="f.title.errors.required">Le titre est obligatoire</div>
        </div>
      </div>
      <div class="form-group">
        <nb-checkbox id="private" class="private"></nb-checkbox>
        <label for="private">Privé</label>
      </div>
      <button type="submit" [disabled]="loading" class="btn btn-success w-100">Enregistrer</button>
    </form>
  </div>
</ng-template>
4

2 回答 2

2

对于一个弹出窗口(来源)

@ViewChild(NbPopoverDirective) popover;
[…]
this.popover.hide();

对于多个:

@ViewChildren(NbPopoverDirective) popovers: QueryList<NbPopoverDirective>;
[…]
this.popovers.forEach(pop => {
    pop.hide();
});
于 2019-06-28T13:30:30.003 回答
0

找到了 :

@ViewChild(NbPopoverDirective) popover;
[…]
this.popover.hide();

一个疑问仍然存在:如果一个组件中有多个 popover 怎么办……?

于 2018-10-23T09:04:53.633 回答