首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤动类型“_CompactIterable<List<Tasks>>”不是类型“List<Tasks>”的子类型

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

Stack Overflow用户
提问于 2021-03-11 00:30:19
回答 2查看 192关注 0票数 1

我得到了这个问题:

类型'_CompactIterable‘不是类型'List’的子类型

当我尝试从列表返回访问列表时:

代码语言:javascript
复制
    List<Map<Project, List<Tasks>>> _data = snapshot.data;

我不知道如何访问map back中的索引值。“

代码语言:javascript
复制
List<Tasks> _ts = _data[index].values;

这总是会抛出错误,如下所示:

代码语言:javascript
复制
Another exception was thrown: type 'CastIterable<List<Tasks>, dynamic>' is not a subtype of type 'List<Tasks>'
EN

回答 2

Stack Overflow用户

发布于 2021-03-11 01:27:19

你有一个列表的映射列表。.values getter返回一个Iterable,而不是一个list。所以如果你使用data[index].values,你会得到一个可迭代的列表,而不是一个任务列表。如果要将这些列表合并为单个列表,可以使用expand方法:

代码语言:javascript
复制
data[index].values.expand((l) => l).toList();

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

不过,我不确定您是如何编译的

票数 2
EN

Stack Overflow用户

发布于 2021-03-11 01:25:13

尝试使用_data.values.toList()索引;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66568980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档