setValue不是函数

时间:2016-08-18 10:19:16

标签: angular typescript ionic2 angular2-forms

我正在Ionic 2中构建一个数据驱动的表单,只有几个字段。当表单的值发生更改时,我正在尝试手动更新一个控件的值。但是,我收到此错误:TypeError: _this.myForm.controls.name.setValue is not a function。我已尝试使用和不使用<FormControl>类型转换,但错误仍然存​​在。

import { Component } from '@angular/core';
import { FormBuilder, FormControl, FormGroup, Validators, REACTIVE_FORM_DIRECTIVES } from '@angular/forms';

@Component({
     templateUrl: 'build/pages/lead-provider/add-bp/add-bp.html',
     directives: [REACTIVE_FORM_DIRECTIVES]
 })
 export class AddBpPage {
     private myForm: FormGroup;

     constructor(private formBuilder: FormBuilder) {
         this.myForm= formBuilder.group({
             'name': ['', [Validators.required]],
             'email': ['', [Validators.required]],
             'phone': ['', [Validators.required]]
         });

         this.myForm.valueChanges.subscribe((value) => {
             (<FormControl>this.myForm.controls['name']).setValue('abc');
         });
     }
}

1 个答案:

答案 0 :(得分:1)

setValue 2周前添加。因此RC.4还不能包含它。

改为使用updateValueAndValidity()