找不到路径控制:angular2

时间:2017-06-14 09:15:11

标签: angular2-forms

我正在使用模型驱动的表单,我无法将其添加到使用ngFor显示的列表中。我在尝试迭代列表时遇到错误。我尝试了所有可用的解决方案。

错误

找不到路径控制:'类别 - > 0'

ts文件

 private categories : any= [{name: 'Strict',selected : false}, 
                                    {name: 'Moderate',selected : true}, 
                                     {name: 'Flexible',selected : true}];

let allCategories: FormArray = new FormArray([]);
          for (let i = 0; i < this.categories.length; i++) {
            let fg = new FormGroup({});
            fg.addControl(this.categories[i].name, new FormControl(this.categories[i].selected))
            allCategories.push(fg)
          }

表单初始化

类别:allCategories,

Html部分

<div formArrayName="categories">
          <div *ngFor="let category of categories; let i=index">  
          <span formGroupName="{{i}}">             
            <label>
            <input type="checkbox" formControlName="{{category.name}}"/> 
            {{category.name}} 
            </label>                
          </span>
          </div>
      </div>

1 个答案:

答案 0 :(得分:1)

@Jadoon,我想,@ DineshArun意味着他希望使用被动方法列出所有类别,并为每个类别使用FormA的FormArray。 问题是Angular通常将数组索引指定为组名默认为0,1 ... 但在@ DineshArun的情况下,这是行不通的。在我的情况下它并没有,但我找到了解决方案。

首先,看看this问题,这是明确的答案。以这种方式重写formArray的填充,然后将formControlName控制的原始名称分配给patch()