首页 > 解决方案 > 从其他控件动态设置角度控制值

问题描述

我在我的 Angular 应用程序中设置我的反应式表单控件的值,如下所示:

<input type="number" #rate formControlName="rate">
<input type="number" #quantity formControlName="quantity">
<input type="number" [value]="quantity.value * rate.value" readonly formControlName="total">
        </mat-form-field>

这是正确的方法吗?我注意到,如果我将表单显示为 json,则“总计”字段为空

标签: angular

解决方案


您必须使用patchValue()setValue()来更新反应形式

<input type="number" formControlName="rate" (change)="updateTotal()">
<input type="number" formControlName="quantity" (change)="updateTotal()">
<input type="number" readonly formControlName="total">
        </mat-form-field>

TS 代码中

updateTotal(){
this.form.patchValue({
    total: Number(this.form.value.rate) * Number(this.form.value.quantity)
  });
}

参考链接


推荐阅读