'(dynamic)=> dynamic'不是'(Node)> = bool'类型的子类型

时间:2020-08-02 22:16:55

标签: dart dynamic where-clause

我遇到此错误

未处理的异常:类型'(dynamic)=>动态'不是'test'类型的'(Node)=> bool'类型的子类型

在尝试执行此行时:

element.nodes.where((n) => n.nodes.isNotEmpty)

我尝试对每个element.node使用评估表达式执行,并且效果很好,所以不知道它可以是什么。

代码块

...
void method(var elements){
...
var elements = _document.querySelectorAll(section_class);

for (var element in elements) {
  for (var node
         in element.nodes.where((n) => n.nodes.isNotEmpty)) {
...

1 个答案:

答案 0 :(得分:0)

问题在于它是为局部变量以及方法参数定义的变量,因此编译器不知道子代是哪种类型。

因此,请在较小的范围内定义var,而不是将其大量用于所有内容。