首页 > 解决方案 > 在扩展模式下如何更改垫子扩展面板标题的内容

问题描述

我想在展开时更改垫子扩展面板标题的内容,并在折叠时返回之前的状态。

<mat-expansion-panel>
    <mat-expansion-panel-header>
        <div>{{'my name is joe'}}</div>
        <div>{{'i am 20 years old'}}</div>
        // when expanded i want to hide the second div and change
        // the style of first div margin, padding e.t.c
    </mat-expansion-panel-header>
    // ....
</mat-expansion-panel>

标签: angularangular-material

解决方案


您可以使用模板变量和类似这样的expanded属性mat-expansion-panel

模板

<mat-expansion-panel #panel>
  <mat-expansion-panel-header>
    <div [ngClass]="{'first-div': panel.expanded}">Always shown</div>
    <div *ngIf="!panel.expanded">Not shown when expanded</div>
  </mat-expansion-panel-header>
  Content here
</mat-expansion-panel>

CSS

.first-div {
  background-color: red;
}

更新了在展开时隐藏第二个并将 CSS 类应用于第一个的stackblitz 。div


推荐阅读