Я могу изменить цвет ячейки, когда нажимаю showProfile(). Но если я нажму на следующую строку, предыдущий цвет исчезнет. Как сохранить постоянный цвет при каждом щелчке по любой строке?
У меня есть это в моем HTML:
<ng-container *ngIf="col === 'name'">
<mat-header-cell *matHeaderCellDef> {{ col | titlecase }} </mat-header-cell>
<mat-cell *matCellDef=" let row"
[ngClass]="{'data-selected': selectedRow ===row.id}" >
<a mat-button color="primary" (click)="showProfile(row['id'], row)"
target="_blank">{{ row[col] }}</a>
</mat-cell>
</ng-container>
И мой CSS:
.data-selected {
background-color:rgb(34, 110, 34);
}
И ТС:
selectedRow = -1;
showProfile(id, row) {
this.selectedRow = id;
this.dialog.open(ViewProfileAdminComponent, {
width: '1800px',
data: {
userId: id,
isAdmin: true,
},
});
у вас есть только уникальная переменная, которая получает значение выбранной строки, поэтому вы можете выбрать только одну строку. Если вы хотите выбрать несколько строк, вам нужно выбрать массив или строки - или объект вашего массива имеет выбранное свойство -