我尝试使用不同的语法来显示List<Map<String, Object>> _work;
,但它仍然失败并发出错误
type 'MappedListIterable' is not a subtype of type 'List<Map<String, Object>> .....
MappedListIterable is from dart:_internal
List is from dart:core
Mapis is from dart:core
String is from dart:core
Object is from dart:core
.....
我想声明一个变量,它是一个Map列表,其中键是String,值是Object。我该怎么办?
非常感谢任何帮助
答案 0 :(得分:2)
缺少.toList()
使MappedListIterable
成为正确的列表。如果您在.map()
上拨打.where()
,List
或类似功能,则会获得MappedListIterable
,并且只会调用.toList()
(或其他方式来重复MappedListIterable
)实现了结果,因为这些操作是惰性的并且延迟到实际访问结果为止。
或者您也可以更改
List<Map<String, Object>> _work;
到
Iterable<Map<String, Object>> _work;
答案 1 :(得分:0)
使用 Dart 2.x ,您还可以尝试将MappedListIterable
强制转换为List
并返回toList()
,以简单的单行命令解决您的问题:
(dictionary['key'] as List).map((item)=> {}).toList();