提问人:Kshitij Chaudhary 提问时间:9/13/2023 最后编辑:RandomKshitij Chaudhary 更新时间:9/14/2023 访问量:46
在 angular 中突出显示所选行的问题
Issue with highlighting the selected row in angular
问:
我设计了一个自定义网格,我想突出显示选择上的行,但它不起作用。我无法弄清楚为什么会发生这种情况。下面是我突出显示的自定义网格部分,其中添加了类以及选择行的条件。
这是 HTML。 逻辑如下:
<tbody>
<tr *ngFor="let row of data; let i = index" (click)="onRowClick(i, row)" [class.highlighted]="selectedRowIndex === i">
<th scope="row" *ngIf="showCheckboxColumn">
<input type="checkbox" [checked]="row.selected" (change)="toggleCheckbox(row)" />
</th>
<td *ngFor="let column of columns">{{ row[column.key] }}</td>
</tr>
</tbody>
我想突出显示所选行。
TS:
onRowClick(rowIndex: number, row: any ) {
this.selectedRowIndex = rowIndex;
this.selectRow.emit(row);
this.cdr.detectChanges();
console.log(this.selectedRowIndex);
}
CSS:
.highlight {
background-color: #8b2323;
}
答:
0赞
Chintan Dhokai
9/13/2023
#1
你能更新一下你的HTML代码和CSS代码类名是不同的吗!
<tbody>
<tr *ngFor="let row of data; let i = index" (click)="onRowClick(i, row)" [class.highlighted]="selectedRowIndex === i">
<th scope="row" *ngIf="showCheckboxColumn">
<input type="checkbox" [checked]="row.selected" (change)="toggleCheckbox(row)" />
</th>
<td *ngFor="let column of columns">{{ row[column.key] }}</td>
</tr>
</tbody>
初始化了组件中的 selectedRowIndex 变量。它最初应设置为 -1 或指示未选择任何行的默认值。
selectedRowIndex = -1; // Initialize with -1 to indicate no selection
onRowClick(index: number, row: any) {
console.log(index);
this.selectedRowIndex = index;
console.log(selectedRowIndex);
// Additional logic if needed
}
我在 onRowClick 方法中添加了 console.log 语句来检查它是否被触发。
.highlighted {
background-color: yellow; /* or any other highlighting style */
}
评论
0赞
Kshitij Chaudhary
9/13/2023
我这样做是这样的onRowClick(rowIndex: number, row: any ) { this.selectedRowIndex = rowIndex; this.selectRow.emit(row); this.cdr.detectChanges(); console.log(this.selectedRowIndex); }
0赞
Chintan Dhokai
9/14/2023
试试这个 <tbody> <tr *ngFor=“let row of data;let i = index“ (click)=”onRowClick(i, row)“ [class..highlight]=“selectedRowIndex === i”> <th scope=“row” *ngIf=“showCheckboxColumn”> <input type=“checkbox” [checked]=“row.selected” (change)=“toggleCheckbox(row)” /> </th> <td *ngFor=“let column of columns”>{{ row[column.key] }}</td> </tr> </tbody>
上一个:Flutter 多个下拉问题
评论
ts
css
[class.highlighted]="
.highlight