flutter - 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;
解决方案
已解决
我保持原样,然后将模型和列表与 firstWhere 进行比较并从中返回字符串(url的一部分)
String _compareLists(){
var result = widget.secondList.firstWhere(
(element) => element?.property == widget.firstList.property, orElse: () => null)
.?propertyContainsUrl ?? "";
return result
}
推荐阅读
- javascript - 在第一次尝试时反应本机地理编码而不是渲染数据
- javascript - 如何访问 Audio Src 以便 Src 的任何更新都会触发音频播放?
- c - 如何在 %f 和 %aw/o 丢失精度之间自动选择?
- javascript - 如何使用 Javascript 中的循环从 Object 元素中减去
- javascript - 如何选择所有 javascripts 对象?
- android - 如何通过类获取资源?
- reactjs - 把你的 reactjs APP 分成多个“页面”有什么作用?
- docker - 容器使用network_mode时如何设置静态ip:服务:
- c# - 当服务更新模型时,UI 不会通过数据绑定更新
- javascript - ExtJS 从任何隐藏/显示逻辑中排除网格中的列