我知道在Widget的onPressed
和onTap
之后调用函数的语法。有两个选项,我们可以使用() => function()
或() { function(); }
语法。空括号是什么意思?
最佳答案
() => expression
或() { statements }
创建一个闭包或内联函数。
这样,您可以内联创建一个函数,该函数作为传递给其的小部件在发生onPressed
事件时作为参数被传递。expression
或statements
具有创建它们时可用的上下文,并且可以访问和使用该上下文中可用的所有成员和标识符(变量,方法,函数,typedef,...)。
如果您使用
onPressed: myFunction
传递对现有函数的引用。仅当
onPressed
和myFunction
期望的回调参数兼容时,此方法才有效。 onPressed: myFunction()
执行myFunction()
并将返回的结果传递给onPressed
。这是一个普遍的错误,当无意间进行时实际上是要传递对myFunction
的引用而不是对其进行调用。 关于dart - Dart中onPressed属性后的空括号是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52404206/