2017-08-29 209 views
1

目前有一個問題,當點擊排序時,按行排序formControls的列數據&控件沒有正確更新。所有其他列正在按預期進行更新。下面是有formControls代碼:角度材料表排序與formControl

<form [formGroup]="rackAverageForms[i]"> 
      <md-input-container> 
      <input [formControl]="rackAverageForms[i].controls.rackAverage" #rackAverage 
        formControlName="rackAverage" 
        (keydown.tab)="validateRackAverage(rackAverage,i)" class="numeric-field" [numberOnly]="true" 
        mdInput value="{{row.chosenDateRackAverage | currency:'USD':true:'1.4-4'}}"> 
      <md-error><strong>{{formErrors[i].rackAverage}}</strong></md-error> 
      </md-input-container> 
</form> 

這裏是之前的排序截圖: md-table view before trying to sort

這是整理後的數據消失: md-table view after sorting with missing data

有時有一個值將會停滯不前,但大多數情況下,這一列中的所有值都消失了,並且控件也沒有了。請幫忙。

回答

1

嘗試幾件不同的事情後,切換到使用row.id唯一值來查找formcontrol它現在正在工作。請參閱下面的固定html:

 <form [formGroup]="rackAverageForms[row.id]"> 
      <ng-container *ngIf="row.chosenDateRackAverage > 0"> 
      <md-input-container> 
       <input [formControl]="rackAverageForms[row.id].controls.rackAverage" #rackAverage 
        formControlName="rackAverage" 
        (keydown.tab)="validateRackAverage(rackAverage,row.id)" class="numeric-field" [numberOnly]="true" 
        mdInput value="{{row.chosenDateRackAverage | currency:'USD':true:'1.4-4'}}" > 
       <md-error><strong>{{formErrors[row.id].rackAverage}}</strong></md-error> 
      </md-input-container> 
      </ng-container> 
     </form>