2017-08-29 143 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>