2017-04-20 22 views
-2

我有一個包含true/false值和一些文本的數組。當我在數組上執行ngFor時,複選框沒有被檢查,輸入值也沒有被設置。如果我只是顯示通過布爾和文本的值{{}},我可以看到值:複選框和輸入值沒有在ngFor中設置?

<tr *ngFor="let milestone of milestones"> 
      {{milestone.IsIncluded}} //I can see true or false 
       <td><input [(ngModel)]="milestone.IsIncluded" name="IsIncluded" type="checkbox"></td> 
       <td>{{milestone.MilestoneTitle}}</td> 
       <td> 
       {{milestone.Name}} //I can see the name 
       <input type="text" name="Name" [(ngModel)]="milestone.Name" class="form-control" /> 
       </td> 
      </tr> 

所有的投入都是空白的,它不設置,來自milestone.Name和所有的值即使數組的前兩個將IsIncluded設置爲true,複選框仍未選中。

回答

1

我想通了。它看起來像在ngFor中,我需要輸入的唯一名稱,所以我這樣做:

<tr *ngFor="let milestone of milestones;let in = index"> 
       <td><input [(ngModel)]="milestone.IsIncluded" name="IsIncluded-{{in}}" type="checkbox"></td> 
       <td>{{milestone.MilestoneTitle}}</td> 
       <td> 
       <input type="text" name="Name-{{in}}" [(ngModel)]="milestone.Name" class="form-control" /> 
       </td> 
      </tr>