首页 > 解决方案 > 如何根据表格单元格中的值更改表格行的背景颜色?

问题描述

我正在使用 Angular*ngFor指令生成动态表。这是下面的结构:

       <tr *ngFor = 'let element of ph'>
            <td>{{element.timestamp}}</td>
            <td>{{element.ph}}</td>                   
       </tr>

生成表的示例图像如下所示。 图像示例

我想为包含 20 < PH 值 < 50 的整个表格行着色。我该怎么做?

标签: jqueryhtmlcssangular

解决方案


[ngClass]如果值是您想要的值,您可以使用和应用一个类。

在这里,使用这个:

<table border="1">
  <thead>
    <td>Reading Time</td>
    <td>PH</td>
  </thead>
  <tbody>
    <tr *ngFor='let element of ph'
      [ngClass]="{'color': (element.ph > 20 && element.ph < 50)}">
      <td>{{element.timestamp}}</td>
      <td>{{element.ph}}</td>
    </tr>
  </tbody>
</table>

或者,正如Yoel Rodriguez所建议的,您也可以使用[class.color]动态应用它:

<table border="1">
  <thead>
    <td>Reading Time</td>
    <td>PH</td>
  </thead>
  <tbody>
    <tr *ngFor='let element of ph'
      [class.color]='element.ph > 20 && element.ph < 50'>
      <td>{{element.timestamp}}</td>
      <td>{{element.ph}}</td>
    </tr>
  </tbody>
</table>

这是colorcss类:

.color {
  color: white;
  font-weight: bold;
  background-color: red;
}

示例 StackBlitz

PS:我并不是在建议这种[ngStyle]方法,因为编写内联样式并不是一个好习惯。


推荐阅读