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

setPath() to add FormGroup in FormArray not work

我使用树对象和 FormGroup 构建了一个 orgChart。 如您所见,我将每个节点关联起来。

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

每个 "subordinados" 都是一个 FormArray。

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

按照我的方法去做:

    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 字符串?

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

之后找到了答案

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

这种方式适合我。