Angular2反应形式默认输入值
Angular2 reactive form default input value
我有以下代码在我的组件中初始化表单:
let editMode: boolean = !!this.template.templateId;
this.editTemplateForm = this.formBuilder.group({
templateId: {value: editMode ? this.template.templateId : '', validators: [Validators.required, this.templateIdValidator]},
dataStorageTime: {value: editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, Validators.required, Validators.pattern("[0-9]+")]});
变量值
this.template.templateId
未定义,因此 editMode
为假。对于 dataStorageTime
,在表单的链接输入中设置了正确的默认值。但是,对于 templateId 输入,设置为“[object Object]”而不是空字符串。
我正在使用 angular2 最终版。
这是我的问题的解决方案:
this.editTemplateForm = this.formBuilder.group({
templateId: [editMode ? this.template.templateId : '', [Validators.required, this.templateIdValidator]],
dataStorageTime: [editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, [Validators.required, Validators.pattern("[0-9]+")]]
});
我有以下代码在我的组件中初始化表单:
let editMode: boolean = !!this.template.templateId;
this.editTemplateForm = this.formBuilder.group({
templateId: {value: editMode ? this.template.templateId : '', validators: [Validators.required, this.templateIdValidator]},
dataStorageTime: {value: editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, Validators.required, Validators.pattern("[0-9]+")]});
变量值
this.template.templateId
未定义,因此 editMode
为假。对于 dataStorageTime
,在表单的链接输入中设置了正确的默认值。但是,对于 templateId 输入,设置为“[object Object]”而不是空字符串。
我正在使用 angular2 最终版。
这是我的问题的解决方案:
this.editTemplateForm = this.formBuilder.group({
templateId: [editMode ? this.template.templateId : '', [Validators.required, this.templateIdValidator]],
dataStorageTime: [editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, [Validators.required, Validators.pattern("[0-9]+")]]
});