2017-03-16 46 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>