FormGroup和传播运算符
问题描述:
我有一个错误,我不明白ReactiveForms。FormGroup和传播运算符
来自roomsGroup的output var返回一个像我希望的对象数组。
然后我使用传播运算符将所有对象传递给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;
这是我的解决方案。
返回对象而不是数组? – yurzui
不,只返回第一个对象,不返回其他:{R1:{...}}而不是{R1:{...},R2:{...},...} – Swarovski
不,我已经尝试一下。我想我错过了一些简单的事情。 – Swarovski