首页 > 解决方案 > Dart 中 onPressed 属性后面的空括号是什么意思?

问题描述

onPressed我知道在小部件之后和onTap为小部件调用函数的语法。有两个选项我们可以使用 the() => function()() { function(); }语法。空括号是什么意思?

标签: dartflutter

解决方案


() => expression() { statements }创建一个闭包或内联函数。

onPressed通过这种方式,您可以创建内联函数,该函数作为参数传递,以便在您传递给它的小部件发生事件时调用。

expressionor具有创建它们的上下文可用,并且可以访问和使用该statements上下文中可用的所有成员和标识符(变量、方法、函数、typedef,...)。

如果你使用

  • onPressed: myFunction传递了对现有函数的引用。
    这仅在回调的参数预期onPressedmyFunction兼容的情况下才有效。
  • onPressed: myFunction() myFunction()被执行并将返回的结果传递给onPressed. 这是一个常见的错误,当实际上是为了传递一个引用myFunction而不是调用它时无意中完成的。

推荐阅读