如果控件的值与FormArray中的值匹配,我只是简单地尝试验证控件。我想明确一点,我不想验证表单或FormGroup或FormArray。本题用于学习如何将参数传递给验证器函数以及如何验证addValue控件。这是我的自定义验证服务中的内容:publicform:FormGroup=this.fb.group({addValue:this.fb.control(null,[this.validatorService.duplicate(this.form.get('values'))]),values:this.fb.array([])});和验证器函数publicduplicate
这里已经有一个类似的问题(SettinginitialvalueAngular2reactiveformarray)但我对答案不满意或者可能正在寻找其他解决方案。我认为FormArray的全部意义在于传递对象数组,它应该创建相同数量的组件。但是在上面的例子中,如果你查看提供的plunker,即使在提供了两个Addresses对象之后,一个Address也被创建了,因为它的空白版本已经在ngOnInit()中创建了。所以我的问题是,如果在ngOnInit()中我有这样的地址:this._fb.array([])//空白列表,那么我应该如何设置它的值,以便它从我的TypeScript数组中
我用ControlValueAccessor构建了一个自定义输入组件,它非常适合添加标签作为选择。(Stackblitz)我的问题是:当我在表单中实现组件时(城市和州控件)通过选择一些选项为两个控件添加值提交表格有时控件值是选定标签的数组(正如预期的那样)其他时候它是一个实际的FormArray对象这是提交Angular表单后同一组件的两个值的屏幕截图。一个是对象数组(预期),另一个是实际的FormArray对象,其中.value属性包含对象数组!如果您不想访问StackBlitz,这里有一些它如何工作的代码。自定义控件是这样实现的。this.form=this.fb.group({t
无法将值修补到FormArrayresultList。任何人都可以向我解释一下,我缺少什么?TS文件:import{Component,OnInit}from'@angular/core';import{Student}from'../student';import{FormGroup,FormControl,Validators,FormArray}from'@angular/forms';@Component({selector:'app-container',templateUrl:'./container.component.html',styleUrls:['./contai