【问题标题】:mat-tab remove the tab-body DOM but not hide itmat-tab 移除 tab-body DOM 但不隐藏它
【发布时间】:2019-01-11 06:50:47
【问题描述】:

场景:

  • 我正在使用角度材质选项卡,每个不同的选项卡都有各自的动态组件。

  • 因此,当我切换选项卡时,它会从 DOM 中删除内容。当我再次返回该选项卡时,它会再次加载内容。


问题:
我只想将内容更改为 display:none; 而不是默认行为,而不是将其从 DOM 中删除。

【问题讨论】:

标签: angular6 angular-material2 angular-material-6


【解决方案1】:

到目前为止,我认为我们无法更改选项卡的默认行为。

但是,我们可以做的是,稍微改变结构以实现预期的行为。

所以,我们可以从 Tabs 中移除内容,并在 mat-tab-group 之外单独处理。我们将检查哪个选项卡处于活动状态,并相应地调整相应内容的display 属性。

总体而言,代码如下所示:

<mat-tab-group>
  <mat-tab label="First" #firstTab>
  </mat-tab>
  <mat-tab label="Second" #secondTab></mat-tab>
</mat-tab-group>
<div [ngStyle]="{'display':!firstTab.isActive ? 'none' : null}">First</div>
<div [ngStyle]="{'display':!secondTab.isActive ? 'none' : null}">Second</div>

我还在stackblitz 上创建了相同的示例。

【讨论】:

  • 亲爱的先生,这个答案是纯金的。就这么简单。 :)
猜你喜欢
  • 2018-11-30
  • 2019-01-24
  • 1970-01-01
  • 2022-10-16
  • 2019-04-12
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
相关资源
最近更新 更多