仅当处于活动状态时如何显示材料选项卡内容?

yan*_*rab 5 angular-material angular mat-tab

我尝试仅在选择时显示选项卡内容:

        <mat-tab label="contacts">
            <p-contacts [contacts]="selectedPanel.contacts"
                        *ngIf="tabGroup.selectedIndex === 1">
            </p-contacts>
        </mat-tab>
Run Code Online (Sandbox Code Playgroud)

这是工作,但我得到了ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'ngIf: false'. Current value: 'ngIf: true'. 所以我做错了什么?

演示

小智 13

您可以通过将内容放入with属性来延迟加载选项卡的内容,如下所示:ng-templatematTabContent

<mat-tab-group  #tabGroup>
  <mat-tab  label="Firt">
    <ng-template matTabContent>
      Content 1
    </ng-template>
  </mat-tab>
  <mat-tab  label="Second">
    <ng-template matTabContent>
      Content 2
    </ng-template>
  </mat-tab>
  <mat-tab  label="Third">
    <ng-template matTabContent>
      Content 3
    </ng-template>
  </mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud)