Angular2反应形式默认输入值

时间:2016-10-03 23:04:59

标签: javascript angular typescript angular2-forms

我有以下代码在我的组件中初始化表单:

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最终版本。

1 个答案:

答案 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]+")]]
});