Primeng 10 - 由于 *ngIf 不发生,tabPanel 存在发生变化

Primeng 10 - tabPanel existence changes due to *ngIf do not take place

在新的 Primeng 10 中,对 *ngIf 表达式的更改不是 creating/destroying 选项卡,除非单击其他选项卡。这适用于以前的版本。

查看 stackblitz: https://stackblitz.com/edit/github-8tlw34?file=src/app/app.component.html

简而言之,当 'kind' 成员更改时,选项卡不显示或消失:

<p-tabView>
  <p-tabPanel header="Any (1)">
    Content Any (1)
  </p-tabPanel>
  <p-tabPanel header="Group Only" *ngIf="kind === 'group'">
    Content Group
  </p-tabPanel>
  <p-tabPanel header="Subgroup Only" *ngIf="kind === 'subgroup'">
    Content Subgroup
  </p-tabPanel>
  <p-tabPanel header="Any (2)">
    Content Any (2)
  </p-tabPanel>
</p-tabView>

<hr>
<button pButton type="button" label="group" (click)="setKind('group')"></button>
<button pButton type="button" label="subgroup" (click)="setKind('subgroup')"></button>
<button pButton type="button" label="none" (click)="setKind('none')"></button>

AppComponent 仅跟踪 'kind' 成员:

export class AppComponent {
  kind = 'none';

  setKind(s: string) {
    this.kind = s;
  }
}

但是 最初,显示 Any (1) 和 Any (2)(正确) 单击按钮将种类设置为 'group' - 应显示组选项卡(但不显示) 单击按钮将种类设置为 'subgroup' - 应显示子组选项卡(但不显示) 单击任意 (1) 选项卡或任意 (2) 选项卡 - 现在会显示正确的组或子组选项卡!

我认为这是一个主要错误,虽然我不知道如何解决,但是否有解决方案或一些 我可以做的解决方法?

谢谢,

-- 雷神

我向 PrimeNG 团队报告了这个问题,PrimeNG 已经在 10.0.1 版本中修复了这个问题。