我有以下代码在我的组件中初始化表单:
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
为false。对于dataStorageTime
,在表单中的链接输入中设置了正确的默认值。 Hovewer,对于templateId输入设置为“[object Object]”而不是空字符串。
我正在使用angular2最终版本。
答案 0 :(得分:2)
这是我的问题的解决方案:
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]+")]]
});