Javascript 双输入角多路应用
我想从两个输入(NUM\u PRECIO\u UNITARIO和NUM\u PORCENTAJE\u IVA)中获取值,并在其他输入(NUM\u VALOR\u IVA)中以二元方式显示多重应用的结果,实际上这是我的html file.htmlJavascript 双输入角多路应用,javascript,angular,angular4-forms,Javascript,Angular,Angular4 Forms,我想从两个输入(NUM\u PRECIO\u UNITARIO和NUM\u PORCENTAJE\u IVA)中获取值,并在其他输入(NUM\u VALOR\u IVA)中以二元方式显示多重应用的结果,实际上这是我的html file.html <div class="form-group col-sm-5"> <mat-form-field> <input matInput type="number"
<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>
这是前面的结果
但在我的形式中,价值不会改变
在函数中创建,将组件类中的值相乘
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>
注:如果您使用的是
FormBuilder
,请不要将ngModel
用于表单输入(您可以将其用于同一页面上的其他内容)。您的模板只是呈现结果。如果你想更改模型,你需要在组件中执行代码来更改模型值,或者你需要接受用户的输入(例如使用[(ngModel)]-但是仅仅在屏幕上渲染一些东西并不会改变模型中的任何内容。请你能更详细地解释解决方案吗?我是Angular新手,非常感谢!这个有用!!非常感谢,它工作得非常好!!在这里,我将完整的解决方案留给拥有samecalcResult(){const o=this.formDetalleOC.get('NUM_PRECIO_UNITARIO').value*this.formDetalleOC.get('NUM_procentaje_IVA').value;this.formDetalleOC.patchValue({NUM VALOR_IVA:o})返回o}
<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>