将两个表行交替在一起,然后将下两个表行交替

时间:2018-08-09 11:22:29

标签: javascript css angular angular-material-6

这个想法是我想有一个表,表中有2行绿色,然后是2行黄色,然后又是绿色,等等,等等。我试图使用:nth-​​child,但它不是真的工作。 我将角钢6用于自动表,将角钢6用于样式。

这是我用来对此进行实验的堆叠闪电战:https://stackblitz.com/edit/angular-f6vmrt

根据要求:浏览器的屏幕截图;

您可以看到第一个td为蓝色,第二个为默认颜色(白色) Browser screenshot

1 个答案:

答案 0 :(得分:0)

使用multiTemplateDataRows时(如您的示例),可以使用dataIndex属性使用ngClass应用类。例如(修改后的代码摘录):

<tr mat-row *matRowDef="let element; let i = dataIndex; columns: columnsToDisplay"
    class="example-element-row" 
    [class.example-expanded-row]="expandedElement === element" 
    [ngClass]="i % 2 === 0 ? 'green' : 'yellow'"
    (click)="expandedElement = element">
</tr>
<tr mat-row *matRowDef="let row; let i = dataIndex; columns: ['expandedDetail']"
    class="example-detail-row" 
    [ngClass]="i % 2 === 0 ? 'green' : 'yellow'">
</tr>