FormGroup和spread运算符

时间:2017-10-08 09:14:43

标签: javascript angular angular-reactive-forms spread-syntax

我有一个我不了解ReactiveForms的错误。

来自roomsGroup的输出var返回一个像我希望的对象数组。

然后我使用spread运算符将所有对象传递给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;
}

1 个答案:

答案 0 :(得分:0)

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

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;

这是我的解决方案。