颤振类型“_CompactIterable<List<Tasks>>”不是“List<Tasks>”类型的子类型

时间:2021-03-10 16:30:18

标签: flutter

我遇到了这个问题:

类型 '_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>'

2 个答案:

答案 0 :(得分:1)

试试_data.values.toList()[index];

答案 1 :(得分:1)

您有一个列表映射列表。 并且 .values getter 返回一个 Iterable 而不是列表。 因此,如果您执行 data[index].values,您将获得一个可迭代的列表而不是任务列表。 如果您想将这些列表合并为一个列表,您可以使用 expand 方法:

data[index].values.expand((l) => l).toList();

不要忘记 toList 否则你将有一个 Iterable 并且仍然会得到一个异常

不知道你是如何编译这个的?