Angular 角度7反应式表格数组-计算表格值

Angular 角度7反应式表格数组-计算表格值,angular,angular7,angular-reactive-forms,Angular,Angular7,Angular Reactive Forms,我一直在创建一个计费应用程序,我将捕获项目名称和价格。我想给项目的折扣,所以我将有折扣的百分比和折扣的美元文本框。在某些情况下,我可以输入百分比折扣或美元折扣值,所以我希望在运行时同时显示这两个值。例如,如果我以美元输入折扣,那么我必须以百分比显示折扣值。你能帮我解决这个问题吗 我已经使用Stackblitz创建了一个示例应用程序,它具有角度和反应形式-尝试以下方法: <td class="form-group"> <input #perc type="text"

我一直在创建一个计费应用程序,我将捕获项目名称和价格。我想给项目的折扣,所以我将有折扣的百分比和折扣的美元文本框。在某些情况下,我可以输入百分比折扣或美元折扣值,所以我希望在运行时同时显示这两个值。例如,如果我以美元输入折扣,那么我必须以百分比显示折扣值。你能帮我解决这个问题吗

我已经使用Stackblitz创建了一个示例应用程序,它具有角度和反应形式-

尝试以下方法:

<td class="form-group">
      <input #perc type="text" class="form-control" formControlName="discountInPercentage" 
      (change)="percChanged(i, perc.value)">
</td>

更改%折扣值,您将看到输出

谢谢@ala。你能建议更新UI中的值吗。我在模板中有formControlName=“discountInDollar”,但percChanged方法后未更新中的值设置为this.itemForm.value.items[I].discountInDollar。更新的stackblitz URL-解决方法是添加此
this.itemForm.controls['items'].setValue(this.itemForm.value.items)对于你的问题,我编辑了我的答案,如果这解决了你的问题,请向上投票并标记为已解决。
percChanged(i, val){
    this.itemForm.value.items[i].discountInDollar = this.itemForm.value.items[i].rate/100*val;
    this.itemForm.controls['items'].setValue(this.itemForm.value.items);
    console.log(this.itemForm.value.items[i].discountInDollar);
}