我正在try 弄清楚如何在react 式表单中使用管道,以便将输入强制转换为货币格式.我已经为此创建了自己的管道,并在代码的其他部分进行了测试,因此我知道它可以作为一个简单的管道工作.我的管道名称是‘udpCurrency’
关于堆栈溢出,我能找到的最接近的答案是这个:Using Pipes within ngModel on INPUT Elements in Angular2-View.然而,这在我的情况下不起作用,我怀疑这与我的窗体是被动的有关.
以下是所有相关代码:
The Template
<form [formGroup]="myForm" #f="ngForm">
<input class="form-control col-md-6"
formControlName="amount"
[ngModel]="f.value.amount | udpCurrency"
(ngModelChange)="f.value.amount=$event"
placeholder="Amount">
</form>
The component
import { Component, OnInit, HostListener } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
export class MyComponent implements OnInit {
myForm: FormGroup;
constructor(
private builder: FormBuilder
) {
this.myForm = builder.group({
amount: ['', Validators.required]
});
}
}
The error:
ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'undefined: '. Current value: 'undefined: undefined'