单击后角度禁用按钮
![单击后角度禁用按钮](https://www.0419af.com/wp-content/uploads/2023/02/8a0a69aef0336e5e3bc926580972c247.png)
我有多个按钮我试图在获得响应后禁用该按钮.在获得响应后使用ngClass禁用按钮
{{item.username}} {{item.name}} {{item.email}} {{item.phone}}
而我的changestatus功能
public name : string ; changestatus(username : string){ this.httpService.changeuserstatus({uname : username }).subscribe(data => { this.name = (data.data == 1) ? username : “no”; }) }
我将用户名值分配给name变量,如果两者匹配,我将禁用该按钮
问题是如果我在获得响应后点击第一个按钮它被禁用但是当我点击第二个按钮后获得响应第一个按钮被启用而第二个按钮被禁用.但是需要禁用这两个按钮.提前谢谢你
1> Steve Land..:
@ maciej-caputa关于使用[disabled]而不是类是正确的,但是您的错误实际上是由于您的应用程序逻辑.
您的函数changestatus()更新全局变量this.name.这将影响所有行,因为它们的disabled状态是有条件的’item.username === name’
尝试以下方法 – 我假设它item是一种叫做的类型User(你需要添加一个新属性isDisabled:
模型:
export class User { username: string; name: string; email: string; phone: string; isDisabled: boolean;}
component.html:
{{item.username}} {{item.name}} {{item.email}} {{item.phone}}
component.ts:
changestatus(user: User){ this.httpService.changeuserstatus({uname : user.username }).subscribe(data => { user.isDisabled = (data.data == 1); }); }
非常简单的plunkr展示了一个工作版本:https://plnkr.co/edit/quLBCMoFtragJ32OBTvp