我遇到了这个问题:
类型 '_CompactIterable' 不是类型 'List' 的子类型
当我尝试从列表返回访问列表时:
List<Map<Project, List<Tasks>>> _data = snapshot.data;
我不知道如何访问 map back 中的索引值"
List<Tasks> _ts = _data[index].values;
这总是抛出错误,如:
Another exception was thrown: type 'CastIterable<List<Tasks>, dynamic>' is not a subtype of type 'List<Tasks>'
答案 0 :(得分:1)
试试_data.values.toList()[index];
答案 1 :(得分:1)
您有一个列表映射列表。
并且 .values
getter 返回一个 Iterable 而不是列表。
因此,如果您执行 data[index].values
,您将获得一个可迭代的列表而不是任务列表。
如果您想将这些列表合并为一个列表,您可以使用 expand 方法:
data[index].values.expand((l) => l).toList();
不要忘记 toList 否则你将有一个 Iterable 并且仍然会得到一个异常
不知道你是如何编译这个的?