是否有带CDK数据表或Material2数据表的索引属性?

时间:2017-08-01 19:52:11

标签: angular angular-material2

我在我的应用程序中使用Angular2 Material Design data table,这很棒。我想知道是否有办法获得索引号或行号?像row.index这样的东西?我在CDK data table documentation中注意到它提到“该指令还导出与ngFor相同的属性(索引,偶数,奇数,第一,最后)”,但没有任何示例如何获取索引。

非常感谢任何帮助或指导。谢谢!

2 个答案:

答案 0 :(得分:23)

您可以像*ngFor一样获取行索引,在let i = index

中添加<md-row>
<md-row *cdkRowDef="let row; columns: displayedColumns; let i = index; let isOdd = odd; let isEven = even; let isLast = last" 
         [ngClass]="{'highlight': selectedRowIndex == row.id}"
         (click)="highlight(row, i, isOdd, isEven, isLast)">
</md-row>

TS:

highlight(row, index, oddFlag, evenFlag, lastFlag){
    alert("index:" + index + " odd: " + oddFlag + " even: " + evenFlag + " last: " + lastFlag);
    this.selectedRowIndex = row.id;
}

Plunker demo

答案 1 :(得分:11)

谢谢@Nehal,这适用于那个例子。我试图通过使用索引为每个条目创建唯一的ID,所以我也找到了一个类似的解决方案,我用cdkCellDef定义了索引。以下是我的解决方案,索引为i

<md-cell *cdkCellDef="let row; let i = index;">
  <div id="{{i}}-info">
    index: {{i}}
    info: {{row.info}}
  </div>
</md-cell>