如何在flutter中将来自不同数组元素的服务列表组合成一个列表

tvokkenx  于 2023-02-20  发布在  Flutter
关注(0)|答案(2)|浏览(137)

我有一个数据数组。下面是模型的照片:

这个模型有一个服务数组。我想使用一个请求来合并来自所有元素的所有服务,并拥有一个列表。
我试着这样做,但它不工作。也许有人知道如何做到这一点??我的例子:

List<PriceServicesModel> get selectedServices {
    List<PriceServicesModel> list = [];
    for (var element in multiServicesModel) {
      for (var services in element.services) {
        list = [...list, services];
        print(list);
      }
      return list;
    }
    return list;
  }

我将感激任何帮助。

lmyy7pcs

lmyy7pcs1#

应在函数末尾返回list

List<PriceServicesModel> get selectedServices {
    final List<PriceServicesModel> list = [];
    for (var element in multiServicesModel) {
      list = list.addAll(element.services);
      //return list; //This line should be removed
    }
    return list;
  }

我做了一些优化。

jvlzgdj9

jvlzgdj92#

你不需要在每次迭代时都创建一个列表,只需要使用list.add()就可以了,并且删除第一个return,这样它在第一次循环后就不会返回了。

List<PriceServicesModel> get selectedServices {
    List<PriceServicesModel> list = [];
    for (var element in multiServicesModel) {
      for (var services in element.services) {
        list.add(services);
      }
    }
    return list;
  }

相关问题