角度材料表排序与formControl
问题描述:
目前有一个问题,当点击排序时,按行排序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
有时有一个值将会停滞不前,但大多数情况下,这一列中的所有值都消失了,并且控件也没有了。请帮忙。
答
尝试几件不同的事情后,切换到使用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>