如何突出显示 angular mat-table 中的第一行?
How to highlight the first row in an angular mat-table?
我有一个 angular mat-table
和一个叫做 table-row
的 class。如果我单击该行,该样式有效并以红色突出显示该行。
但我想要的是 select/highlight
默认第一行并显示原始的红色背景。我怎样才能做到这一点?
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="fullName">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
<td mat-cell *matCellDef="let row">{{row.fullName}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns; ; let i = index;" [MasterRouterLink]="['detail', row.id]" class="table-row"></tr>
</table>
.table-row:focus {
background: tomato;
outline: none;
}
您需要在 table 中保留 select 行的 selectedRowIndex
。所以当你 select 每一行时 selectedRowIndex
必须更新好吗?现在只需在组件的 ngOnInit
中将 selectedRowIndex
设置为 1
。
<tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="highlight(row)" [ngClass]="{'highlightTableColor': selectedRowIndex == row.position}">
</tr>
ngOnInit(){
this.selectedRowIndex = 1;
}
您可以使用 CSS
只需将 class 分配给标签,如下所示:
<tr class="my-table" ...other angular stuff><td></td></tr>
然后在 table 行使用以下样式:
.my-table tr:first-child { background-color: yellow; }
希望对你有用
我有一个 angular mat-table
和一个叫做 table-row
的 class。如果我单击该行,该样式有效并以红色突出显示该行。
但我想要的是 select/highlight
默认第一行并显示原始的红色背景。我怎样才能做到这一点?
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="fullName">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
<td mat-cell *matCellDef="let row">{{row.fullName}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns; ; let i = index;" [MasterRouterLink]="['detail', row.id]" class="table-row"></tr>
</table>
.table-row:focus {
background: tomato;
outline: none;
}
您需要在 table 中保留 select 行的 selectedRowIndex
。所以当你 select 每一行时 selectedRowIndex
必须更新好吗?现在只需在组件的 ngOnInit
中将 selectedRowIndex
设置为 1
。
<tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="highlight(row)" [ngClass]="{'highlightTableColor': selectedRowIndex == row.position}">
</tr>
ngOnInit(){
this.selectedRowIndex = 1;
}
您可以使用 CSS
只需将 class 分配给标签,如下所示:
<tr class="my-table" ...other angular stuff><td></td></tr>
然后在 table 行使用以下样式:
.my-table tr:first-child { background-color: yellow; }
希望对你有用