我想从2个输入中获取值( NUM_PRECIO_UNITARIO 和 NUM_PORCENTAJE_IVA ),并在其他输入中显示多重复制的结果( NUM_VALOR_IVA )实际上这是我的HTML
file.html
<div class="form-group col-sm-5">
<mat-form-field>
<input matInput type="number" formControlName="NUM_VALOR_IVA" placeholder="Valor IVA" value="{{formDetalleOC.get('NUM_PRECIO_UNITARIO').value * formDetalleOC.get('NUM_PORCENTAJE_IVA').value}}" required>
</mat-form-field>
</div>
file.ts
ngOnInit() {
this.createControlItemOC
}
createControlItemOC() {
this.formDetalleOC = this.fb.group({
NUM_PRECIO_UNITARIO: 0,
NUM_PORCENTAJE_IVA: 0,
NUM_VALOR_IVA: 0,
})
}
这是前面的结果
但在我的表格中,价值不会改变
答案 0 :(得分:3)
在函数中创建以将组件类中的这些值相乘
calcResult() {
const o = this.formDetalleOC.get('NUM_PRECIO_UNITARIO').value * this.formDetalleOC.get('NUM_PORCENTAJE_IVA').value;
this.formDetalleOC.patchValue({ NUM_VALOR_IVA: o });
return o;
}
在HTML模板中,调用该函数:
<div class="form-group col-sm-5">
<mat-form-field>
<input matInput type="number" formControlName="NUM_VALOR_IVA" placeholder="Valor IVA" [value]="calcResult()" required>
</mat-form-field>
</div>
PS:如果您使用的是ngModel
,则不要将FormBuilder
用于表单输入(您可以在同一页面上将其用于其他内容)。