Angular setValue不是一个函数
我正在Ionic 2中构建一个数据驱动的表单,其中包含一些字段。当窗体的值更改时,我尝试手动更新一个控件的值。但是,我遇到了以下错误:Angular setValue不是一个函数,angular,typescript,ionic2,angular2-forms,Angular,Typescript,Ionic2,Angular2 Forms,我正在Ionic 2中构建一个数据驱动的表单,其中包含一些字段。当窗体的值更改时,我尝试手动更新一个控件的值。但是,我遇到了以下错误:TypeError:\u this.myForm.controls.name.setValue不是函数。我尝试了使用和不使用类型转换,但错误仍然存在 import { Component } from '@angular/core'; import { FormBuilder, FormControl, FormGroup, Validators, REACTIV
TypeError:\u this.myForm.controls.name.setValue不是函数
。我尝试了使用和不使用
类型转换,但错误仍然存在
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');
});
}
}
从'@angular/core'导入{Component};
从“@angular/forms”导入{FormBuilder、FormControl、FormGroup、Validators、REACTIVE_FORM_DIRECTIVES};
@组成部分({
templateUrl:'build/pages/lead provider/add bp/add bp.html',
指令:[反应形式指令]
})
导出类AddBpPage{
私人myForm:FormGroup;
构造函数(专用formBuilder:formBuilder){
this.myForm=formBuilder.group({
“名称”:[“”,[Validators.required]],
“电子邮件”:[“”,[需要验证程序]],
“电话”:[“”,[需要验证程序]]
});
this.myForm.valueChanges.subscribe((值)=>{
(this.myForm.controls['name']).setValue('abc');
});
}
}
setValue
是在两周前添加的。因此RC.4还不能包含它
改为使用
updateValueAndValidity()
什么是(this.myForm.controls['name'))
返回的?对FormControl
的强制转换现在应该不再需要了。您使用的Angular2版本是什么?Ionic2,rc4当前使用的版本。强制转换返回一个FormControl对象