首页 > 解决方案 > Flutter - 在一个请求中映射两个列表

问题描述

我将映射列表(firstList)传递给 Widget(作为模型),我想将第二个列表作为 regionModel。所以这是我的问题。是否可以在一个请求中映射两个列表(需要映射 secondList 并将其作为 regionModel: value2 传递)。我找到了类似 IterableZip 的东西,但它不再受支持。


Widget _buildView(
    List<FirstListModels> firstList,
    List<SecondListModels> secondList,

... 
children: firstList.map((value) {
              return Widget(
                  model: value, regionModel: value2);
            }).toList()

然后当我通过它们时,我有:

class SomeClass extends StatefulWidget {
  final FirstListModel model;
  final List<SecondListModel> regionModel;

所以,我需要摆脱列表只有 SecondListModel 并有这样的输出:

class SomeClass extends StatefulWidget {
  final FirstListModel model;
  final SecondListModel regionModel;

标签: flutterdart

解决方案


已解决

我保持原样,然后将模型和列表与 firstWhere 进行比较并从中返回字符串(url的一部分)

String _compareLists(){
  var result = widget.secondList.firstWhere(
    (element) => element?.property == widget.firstList.property, orElse: () => null)
    .?propertyContainsUrl ?? "";


    return result
}


推荐阅读