设置初始值 Angular 2 reactive formarray
Setting initial value Angular 2 reactive formarray
我正在尝试为 angular 2 反应形式 formArray 对象设置初始值。
即使用于设置表单值的 json 对象包含具有多个条目的数组值,但只显示第一个条目,"form.value" 也只显示第一个条目。
我正在使用语法 (<FormGroup>this.myForm).patchValue(value, { onlySelf: true });
在表单上设置初始值。
这里有一个 plunker 演示了这个问题:https://plnkr.co/edit/j1S80CmPBF1iHI5ViEia?p=preview
我使用了 https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2 中的示例来创建 plunker。
知道我做错了什么吗?
您正在将 addresses
设置为一组表单,而在 initAddress()
方法中您仅 return 一个元素。
如果您向 addresses
数组添加第二个调用,您将获得第二个地址。
this.myForm = this._fb.group({
name: ['', [Validators.required, Validators.minLength(5)]],
addresses: this._fb.array([
this.initAddress(),
this.initAddress()
])
});
这听起来有点愚蠢,但它会将 return 元素定位在数组中,如果你超过数组中元素的数量,你将得到一个空元素。
希望对您有所帮助。
我正在尝试为 angular 2 反应形式 formArray 对象设置初始值。
即使用于设置表单值的 json 对象包含具有多个条目的数组值,但只显示第一个条目,"form.value" 也只显示第一个条目。
我正在使用语法 (<FormGroup>this.myForm).patchValue(value, { onlySelf: true });
在表单上设置初始值。
这里有一个 plunker 演示了这个问题:https://plnkr.co/edit/j1S80CmPBF1iHI5ViEia?p=preview
我使用了 https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2 中的示例来创建 plunker。
知道我做错了什么吗?
您正在将 addresses
设置为一组表单,而在 initAddress()
方法中您仅 return 一个元素。
如果您向 addresses
数组添加第二个调用,您将获得第二个地址。
this.myForm = this._fb.group({
name: ['', [Validators.required, Validators.minLength(5)]],
addresses: this._fb.array([
this.initAddress(),
this.initAddress()
])
});
这听起来有点愚蠢,但它会将 return 元素定位在数组中,如果你超过数组中元素的数量,你将得到一个空元素。
希望对您有所帮助。