setPath()在FormArray中添加FormGroup不起作用

时间:2018-10-08 20:25:49

标签: angular tree formbuilder angular-formbuilder

我使用树Object和FormGroup构建了orgChart。 如您所见,我将每个节点都关联了。

var treen = [{
 name:"name",
 cargo:"cargo",
 subordinados:[{
   name:"name 2",
   cargo:"cargo 2",
   subordinados: []
 }]
}];

每个“ subordinados”都是一个FormArray。

当我使用formGroup.setPath()在“ subordinados”中添加新索引作为FormGroup类型时,似乎不起作用。和formGroup仍然相同。

按照方法i进行操作:

    clicou( f: FormControl)
{
    const arrColaborador = new FormArray([]);

    const sub = this.builder.group({
        nome: new FormControl('teste'),
        cargo: new FormControl('teste'),
        subordinados: arrColaborador
    });

    f.patchValue({
        subordinados: [sub]
    })

    console.log(f);
}

我该怎么做,并使formArray的字符串被方法更改?

1 个答案:

答案 0 :(得分:0)

我在https://alligator.io/angular/reactive-forms-formarray-dynamic-fields/

之后找到了答案

如您所见,我使用var subordinados = f.get('subordinados') as FormArray;来获取formArray,因此,我使用subordinados.push()添加了新索引。

这种方式对我有效。