FormGroup 和展开运算符

FormGroup and spread operator

我有一个我无法理解 ReactiveForms 的错误。

从 roomsGroup 输出变量 returns 我希望的对象数组。

然后我使用扩展运算符将所有对象传递给 roomingGroup 中的表单组。但是只设置了第一个对象。

我不知道我必须做什么才能让它发挥作用。

有什么想法吗?

export function roomingGroup (fb: any) {
    return fb.group(
        ...roomsGroup(fb)
    );
}

function roomsGroup (fb) {
    let output = [];

    for (let i = 1; i < 4; i++) {
        let nameOfProperty = 'R' + i;

        output.push({
            [nameOfProperty]: fb.group({
                quantity: fb.group({
                    adult: [''],
                    child: ['']
                })
            })
        })
    }

    return output;
}

我想要输出对象。所以我必须使用对象:

let output = {};

for (let i = 0; i < count; i++) {
    let nameOfProperty = 'R' + (i + 1);

    output = (<any>Object).assign(output, {
        [nameOfProperty]: fb.group({
            quantity: fb.group({
                adult: [''],
                child: ['']
            })
    })})
}

return output;

这就是我的解决方案。