【问题标题】:ForEach Inside ForEach in Reactive Forms Angular 4ForEach 内部 ForEach 反应形式 Angular 4
【发布时间】:2018-01-23 02:19:12
【问题描述】:

我怎样才能为每个过期日期,因为我有一个相同的成分,但有不同的过期日期。我想到的是我应该有一个下拉菜单,可以选择成分并输出每个不同的到期日期。我的问题如何在我的 Foreach 中执行 ForEach?这是我的 stackblitz 链接。

CODE LINK HERE

TS

 patchValues() {
    let rows = this.addForm.get('rows') as FormArray;
    this.ingredients.forEach(data => {
      rows.push(this.fb.group({
      ingredient_id: data.id,
      qty_available: data.qty_available,
      qty: ['', Validators.required],
      expiration_date: "How to ForEach HERE?",
    }))
    })
  }

【问题讨论】:

    标签: angular angular-reactive-forms angular4-forms angular-forms


    【解决方案1】:

    为什么不创建/使用已定义的对象类和已定义的对象数组来定义您的数据,而不是使用大量嵌套对象定义/JSON?

    一种成分由一个 id、名称和一个仓库项目数组组成

    awarehouseItem 是 id、名称、总库存等的名称

    创建成分列表并根据您所在的行检索索引,然后将可能的结果添加到选择选项中。

    这是我做的一个小例子:https://stackblitz.com/edit/form-array-patch-fkhayr

    【讨论】:

    • 我不能这样做,因为warehouse_items 已经由后端提供。它已经在配料里面了
    • 您可以自动将后端的响应映射到这些对象;他们只需要相同的属性名称。我假设后端返回成分列表
    • 发布关于您的 Angular 前端如何从后端接收信息的代码/逻辑。不能真正帮助当前代码,因为您的 JSON 代码在 ts 文件中都是静态的,并且没有处理检索的代码/映射来自后端的 JSON 数据;如果您从未这样做过,那么您需要先从那里开始。
    • 这就是我的代码从后端返回的方式。当 ngOnInit 运行时,它突然调用了 patchValues()。 warehouse_items 已经在配料里面了
    • 那不是后端! ;这只是 JSON 形式的前端(角度)上的静态数据,但无论如何,没有什么能阻止您删除所有 JSON 并将其替换为对象/对象数组,然后像我对第一行所做的那样显示 obj 值在我的例子中;我也会用成分下拉菜单更新它。
    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    相关资源
    最近更新 更多