如何在angular中使用反应式表单控件格式化输入?
我有一个输入,如下所示,以反应式表单控件为边界:如何在angular中使用反应式表单控件格式化输入?,angular,format,angular-reactive-forms,Angular,Format,Angular Reactive Forms,我有一个输入,如下所示,以反应式表单控件为边界: <mat-form-field appearance="fill" floatLabel="always" fxFlex> <mat-label>My field</mat-label> <input matInput #input="matInput" [formControl]="amountControl" [errorStateM
<mat-form-field appearance="fill" floatLabel="always" fxFlex>
<mat-label>My field</mat-label>
<input
matInput
#input="matInput"
[formControl]="amountControl"
[errorStateMatcher]="customMatcher"
/>
<mat-error *ngIf="amountControl?.invalid">{{ getErrorMessage$() | async }}</mat-error>
</mat-form-field>
我的领域
{{getErrorMessage$()| async}
现在,在用户输入一个值之后,需要对该值进行格式化,可能是在模糊或自定义键盘快捷键上,将其填充回html输入字段,并使用格式化的值更新到绑定表单控件中
我曾经考虑过使用管道,但是,似乎只有更改值的显示方式才有用,而不是将其保存回backing formControl
正确的方法是什么?我会这样做:
HTML: 该值将在键入时更改,但在模糊时会发生变换,如果希望仅在模糊时更改该值,可以使用以下方法:
amountControl = new FormControl('', {updateOn: 'blur'});
编辑:示例
amountControl = new FormControl('');
transform(){
let transformValue = this.amountControl.value - 5; // your pipe here
this.amountControl.setValue(transformValue);
}
amountControl = new FormControl('', {updateOn: 'blur'});