我正在使用 ngClass 在单击按钮时更改颜色和文本,并且使用数据表从远程服务器获取数据
I am using ngClass to change color & text on a button click & Data is fetched from Remote Server using Data Tables
这里的问题是,当我单击激活或停用时,它会为所有条目激活,如何为唯一行调用该函数。
HTML 如下:
<button [ngClass]="{'btn-danger':user.active, 'btn-success':!user.active}"
(click)="click()"> {{text}}
</button>
TS 如下:
user = { active: true };
text = "Deactive";
click() {
if (this.user.active) {
this.user.active = false;
this.text = "Active";
} else {
this.user.active = true;
this.text = "Deactive";
}
}
您可以试试这个解决方案
使用 {{user.active ? 'Deactive':'Active'}}
作为显示值。
我已经在 Stackblitz
上创建了一个演示
Component.ts
users:Array<any>=[{
id:1,
name:'User 1',
active:false
},{
id:2,
name:'User 2',
active:true
},{
id:3,
name:'User 3',
active:true
},{
id:4,
name:'User 4',
active:false
}]
Component.html
<table>
<tr *ngFor="let user of users">
<td>{{user.name}}</td>
<td>
<button [ngClass]="{'btn btn-danger':user.active, 'btn btn-success':!user.active}" (click)="user.active = !user.active"> {{user.active ? 'Deactive':'Active'}}
</button>
</td>
</tr>
</table>
这里的问题是,当我单击激活或停用时,它会为所有条目激活,如何为唯一行调用该函数。
HTML 如下:
<button [ngClass]="{'btn-danger':user.active, 'btn-success':!user.active}"
(click)="click()"> {{text}}
</button>
TS 如下:
user = { active: true };
text = "Deactive";
click() {
if (this.user.active) {
this.user.active = false;
this.text = "Active";
} else {
this.user.active = true;
this.text = "Deactive";
}
}
您可以试试这个解决方案
使用 {{user.active ? 'Deactive':'Active'}}
作为显示值。
我已经在 Stackblitz
上创建了一个演示Component.ts
users:Array<any>=[{
id:1,
name:'User 1',
active:false
},{
id:2,
name:'User 2',
active:true
},{
id:3,
name:'User 3',
active:true
},{
id:4,
name:'User 4',
active:false
}]
Component.html
<table>
<tr *ngFor="let user of users">
<td>{{user.name}}</td>
<td>
<button [ngClass]="{'btn btn-danger':user.active, 'btn btn-success':!user.active}" (click)="user.active = !user.active"> {{user.active ? 'Deactive':'Active'}}
</button>
</td>
</tr>
</table>