【发布时间】:2017-11-08 03:34:27
【问题描述】:
我在 stackblitz 中有这段代码,需要获取所有材料。我怎样才能得到所有的材料,而不仅仅是一个。输出只是一种材料而不是列表?下面是我的代码 https://stackblitz.com/edit/angular-qssycg?file=app/app.component.ts
JSON
orders =
[
{
"id": 1,
"name": "Not Available",
"address": "Not Available",
"city": "Not Available",
"contact_number": "Not Available",
"created_at": "2017-10-26 16:12:22",
"updated_at": "2017-10-26 16:12:22",
"materials": [
{
"id": 21,
"sku": "D22D12D4",
"name": "D-2, 2D-1, 2D-4",
"created_at": "2017-10-26 03:03:43",
"updated_at": "2017-10-26 03:03:43",
"pivot": {
"supplier_id": 1,
"material_id": 21
}
},
{
"id": 40,
"sku": "ACWNAIL",
"name": "Assorted C.W. Nails",
"created_at": "2017-10-26 03:19:54",
"updated_at": "2017-10-26 03:23:21",
"pivot": {
"supplier_id": 1,
"material_id": 40
}
},
{
"id": 49,
"sku": "DDJENAMEL",
"name": "Doors & Door Jambs - Enamel",
"created_at": "2017-10-26 03:33:06",
"updated_at": "2017-10-26 03:33:06",
"pivot": {
"supplier_id": 1,
"material_id": 49
}
}
]
}
]
ts
patchValues() {
let rows = this.myForm.get('rows') as FormArray;
this.orders.forEach(material => {
rows.push(this.fb.group({material_id: material.materials[0].id,material_name: material.materials[0].name, quantity: material.materials[0]}))
})
}
【问题讨论】:
-
请在此处发布您的代码,而不是代码链接。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误和必要的最短代码 在问题本身中重现它。没有明确的问题陈述的问题对其他读者没有用处。见:How to create a Minimal, Complete, and Verifiable example.
-
@EdCottrell。我刚刚编辑了它
-
这样更好;谢谢。我仍然不清楚你在问什么,但我不是 Angular 的人,所以也许其他用户会更好地理解它。
-
@EdCottrell。我得到的是一份材料,而不是一份清单。
-
嗯,你总是用
[0]来索引它,所以你总是只会得到rows.push(...)语句中的第一个。我不知道这是否是您所指的,但这似乎是一个非常明显的问题。也就是说,我真的不清楚你到底想做什么。
标签: angular angular-reactive-forms angular4-forms