如何在Angular 5反应形式输入中使用管道

达拉斯凯利(Dallas Caley):

我试图弄清楚如何在反应形式中使用管道,以便将输入强制转换为货币格式。我已经为此创建了自己的管道,并在代码的其他区域进行了测试,因此我知道它可以作为简单管道使用。我的管道名称是“ udpCurrency”

在堆栈溢出时,我能找到的最接近的答案是:在Angular2-View的INPUT元素上的ngModel中使用管道。但是,这在我的情况下不起作用,我怀疑这与我的表单具有反应性有关

这是所有相关代码:

模板

<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>

组件

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]
    });
  }    
}

错误:

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'undefined: '. Current value: 'undefined: undefined'
AJT82:

当您混合使用模板驱动形式和反应形式时,可能会发生这种情况。您有两个绑定相互竞争。选择模板驱动或反应形式。如果您想采用反应性路线,则可以将其[value]用于管道...

注意,该管道仅用于在视图中显示所需的输出。

<form [formGroup]="myForm">
  <input 
    [value]="myForm.get('amount').value | udpCurrency"
    formControlName="amount" 
    placeholder="Amount">
</form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Angular反应形式中使用updateOn:'blur'

如何在Angular 2的组件中使用管道?

Angular2:如何在反应形式输入上显示字符数

如何在ng-template中使用反应形式

在Angular中使用反应形式感动和有效

如何在动态组件中使用反应形式

如何在Django REST Social Auth中使用Angular 5?

如何在Angular 5中使用数据绑定设置日期输入字段的值?

如何在ngFor中使用反应形式

如何在Angular 5中使用@Injectable includedIn根

如何在Angular中使用rxjs检查输入属性?

如何在Angular 5应用中使用DatePipe验证日期?

如何在角度5的纯管道中使用HTTP调用

如何在Angular中获取反应形式输入的值?

如何使用角度反应形式使禁用输入也需要?

如何在Angular 7中使用反应形式设置“至少应填写一个字段”验证?

如何在反应形式formarray angular中使用mat-select

使用Angular 8反应形式捕获表单输入

如何在常规Javascript中使用Angular管道进行循环?

如何在反应中使用地图作为位置输入?

如何在Jenkins管道中使用Active Choices反应参考参数(jenkinsfile)

如何在Angular中以反应形式禁用按钮?

如何在反应原生中使用表单输入数据作为 axios 请求的输入?

如何在 Angular 5 中使用 javaScript TimeSheet 插件

如何在 Angular 中使用管道格式化日期

如何在 Angular 7 中期待空的反应形式 - Karma

如何在 Angular 输入的 [value] 属性中使用多个变量

Angular 反应形式:使用单个 formControlName 同步多个输入

如何在同一管道中使用多个反应流?