首页 > 解决方案 > Flutter:在 List 内嵌套 Map 的条件

问题描述

List aa = [
  {'live': true, 'name': 'John', 'code': 1},
  {'live': false, 'name': 'Doe',  'code': 2},
];

我有aa像上面那样调用的列表。我想使用它使其有条件。首先,我想检查代码是否为 1,然后查找live' 的布尔值以显示Text小部件。

 aa.where((e) => e['code'] == 1).where((e) => e['live'])
              ? Text('alive!?')
              : Text('not alive!?'),

这给了我一个错误。可能是因为它返回的 Map 值不是 true 或 false 值。在这种情况下,如何取出live价值以将其用于有条件的回报?

标签: flutterdart

解决方案


使用 for 循环执行此操作,它将起作用:

for (var i in aa) {
  if(i['code'] == 1) {
    if(i['live']) {
      //YOUR WIDGET HERE
    } else {
      //YOUR WIDGET HERE
    }
  }
}

推荐阅读