flutter - 颤振类型'_CompactIterable>' 不是类型“列表”的子类型'
问题描述
我遇到了这个问题:
类型 '_CompactIterable<List>' 不是类型 '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>'
解决方案
您有一个列表映射列表。并且.values
getter 返回一个 Iterable 而不是一个列表。因此,如果您这样做,data[index].values
您会得到一个可迭代的列表,而不是任务列表。如果要将这些列表组合成一个列表,可以使用 expand 方法:
data[index].values.expand((l) => l).toList();
不要忘记 toList 或者你仍然有一个 Iterable 并且仍然会得到一个异常
不知道你是如何编译的
推荐阅读
- java - 在循环中将int转换为字符串
- python - 在 python 面向对象的类中解释代码
- php - 是否可以在库存 Alpine 3.12 Docker 映像上安装 PHP7.4?
- r - ggplot2 | 仅为一个变量自定义 geom_point
- python - default_attrs.update(attrs) ValueError: 字典更新序列元素 #0 的长度为 1;2 是必需的
- css - 使用 gtk+3 和 Css 时的问题
- angular - FormArray 在复选框更改事件上显示输入字段的默认值
- spring-boot - 带有“--network host”的 Docker 不允许访问应用程序的端口
- python - 如何通过 doc2vec 嵌入降低聚类的时间复杂度?
- sql-server - 我应该在哪里创建哪些索引来优化我的视图?