2017-03-16 43 views
0

我有一个* ngfor生成的列表,每个项目内有一个按钮。 我想禁用只有1项按钮,当我尝试禁用一个按钮,每个项目中的所有按钮被禁用。离子2禁用特定按钮里面的列表

的.html

<ion-item *ngFor="let item of list"> 
      <button color="app ionbutton (click)="disable()" [disabled]="isDisabled">button</button> 
     </ion-item> 

.TS

isDisabled=false; 
disable(){this.isDisabled=true;} 

回答

0

所有的按键都绑定到相同的变量,因此,是的,他们都将被禁用。 解决你的问题,你可以将值绑定到你的项目的属性:

list : any[] = [{itemId : 1, disabled : false},{itemId : 2, disabled : false},{itemId : 3, disabled : false}] 

constructor(){} 

disable(item) { 
    item.disable = true; 
} 

而且在你的模板:

<ion-item *ngFor="let item of list"> 
      <button color="app ionbutton (click)="disable(item)" [disabled]="item.disabled">button</button> 
</ion-item>