Dart报The return type ‘bool‘ isn‘t a ‘void‘, as required by the closure‘s context

简介: Dart报The return type ‘bool‘ isn‘t a ‘void‘, as required by the closure‘s context

错误描述

对List使用forEach时报错The return type ‘bool’ isn’t a ‘void’, as required by the closure’s context。

代码如下:

bool _checkData() {
  _myControllers.forEach((element) {
    if(element.text.isEmpty||int.parse(element.text) <= 0){
      return false;
    }
    return true;
  });
}

问题分析:

报错是说返回类型“bool”不是闭包上下文所要求的“void”。在forEach里直接return了一个bool类型,但是forEach要求是不能返回值的。


解决方法

这个错误是因为forEach的回调函数要求返回void,但你的代码中返回了bool。

forEach的回调函数是对每个元素执行某个操作,它本身不应该有返回值。在forEach外部判断所有controller的text是否合法,而不是在回调函数内判断并返回bool。

正确的代码应该是:

bool _checkData() {
  for (var element in _myControllers) {
    if (element.text.isEmpty || int.parse(element.text) <= 0) {
      return false;
    }
  }
  return true;
}
目录
打赏
0
0
0
0
13
分享
相关文章
电商黑话之 spu sku
SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的基本特性。因此在电商类产品库建立时,通常会根据SPU来建立。
电商黑话之 spu sku
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
解决jenkins结束后kill掉衍生进程
解决jenkins结束后kill掉衍生进程
Linux命令:`cp` - 复制文件与目录的利器
`cp`是Linux中的命令行工具,用于复制文件和目录。基本语法是`cp [选项] 源 目标`。常用选项包括:`-r`(递归复制目录)、`-i`(交互式确认覆盖)、`-u`(只复制更新的文件)、`-v`(详细输出)、`-p`(保留文件属性)、`-l`(创建硬链接)和`-s`(创建符号链接)。`--backup`选项可在覆盖前创建备份,`--sparse`处理稀疏文件。通过组合使用这些选项,用户可以灵活地管理文件和目录的复制操作。
Dart ffi 使用问题之在C++线程中无法直接调用Dart函数的问题如何解决
Dart ffi 使用问题之在C++线程中无法直接调用Dart函数的问题如何解决
remount of the / superblock failed: Permission denied remount failed
remount of the / superblock failed: Permission denied remount failed
206 0
[√]添加预处理的2个不同方式:target_compile_definitions / add_definitions
[√]添加预处理的2个不同方式:target_compile_definitions / add_definitions
576 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问