微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular2 +在特定条件下使垫子行变灰

如何解决Angular2 +在特定条件下使垫子行变灰

我对Angular非常陌生。我有一个组件,可以从数据源动态创建表格。我希望当与数据源的一部分相比的特定条件为真或假时,某些席子行变灰或其他(显示行但其中没有数据)。

希望你们能帮助我。

解决方法

让我为您展示一些来自material.angular.io的样品垫表

<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">

  <!--- Note that these columns can be defined in any order.
        The actual rendered columns are set as a property on the row definition" -->

  <!-- Position Column -->
  <ng-container matColumnDef="position">
    <th mat-header-cell *matHeaderCellDef> No. </th>
    <td mat-cell *matCellDef="let element"> {{element.position}} </td>
  </ng-container>

  <!-- Name Column -->
  <ng-container matColumnDef="name">
    <th mat-header-cell *matHeaderCellDef> Name </th>
    <td mat-cell *matCellDef="let element"> {{element.name}} </td>
  </ng-container>

  <!-- Weight Column -->
  <ng-container matColumnDef="weight">
    <th mat-header-cell *matHeaderCellDef> Weight </th>
    <td mat-cell *matCellDef="let element"> {{element.weight}} </td>
  </ng-container>

  <!-- Symbol Column -->
  <ng-container matColumnDef="symbol">
    <th mat-header-cell *matHeaderCellDef> Symbol </th>
    <td mat-cell *matCellDef="let element"> {{element.symbol}} </td>
  </ng-container>

  <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>

正如倒数第二行的代码所示,您已使用<tr>元素定义了row。 因此,如果要使整个行变灰,则必须向其中添加一些动态类:

<tr mat-row *matRowDef="let row; columns: displayedColumns;" [class.disabled]="row.disabled"></tr>

如您所见,我使用传递到每一行的对象的disabled属性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。