在Angular中,要改变选中行的CSS样式,而不是所有行,需要使用*ngFor指令和类绑定技巧。
首先,在HTML模板中使用*ngFor指令生成行,给每行添加一个CSS类名,如下所示:
{{ item.name }}
{{ item.age }}
接着,在组件中添加一个方法来切换选中项。这个方法会将当前选中项的selected属性设置为true,并将所有其他项的selected属性设置为false。
toggleSelected(item) {
item.selected = !item.selected;
// unselect all other items
this.items.forEach(it => {
if (it !== item) {
it.selected = false;
}
});
}
最后,在组件的CSS样式文件中添加选中行的样式:
tr.selected {
background-color: yellow;
}
这样,当用户点击某一行时,这一行将会被选中,并且只有这一行的背景色变为黄色,其他行的背景色保持不变。