Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在dart颤振中创建回调函数?_Flutter_Dart - Fatal编程技术网

Flutter 如何在dart颤振中创建回调函数?

Flutter 如何在dart颤振中创建回调函数?,flutter,dart,Flutter,Dart,我有一个带有onTap参数的方法 myFunc({onTap}){ return onTap; } 然后,我需要像这样使用它 myFunc( onTap: print('lorem ipsum'); ) 我怎样才能做得正确?谢谢你可以像下面这样做。注意,您可以指定参数或避免,我添加了函数(您可以使用,) 如果要传递参数,请执行以下操作: myFunc({Function onTap}){ onTap("hello"); } //invoke myFunc(onTap: (

我有一个带有onTap参数的方法

myFunc({onTap}){
   return onTap;
}
然后,我需要像这样使用它

myFunc(
   onTap: print('lorem ipsum');
)

我怎样才能做得正确?谢谢

你可以像下面这样做。注意,您可以指定参数或避免,我添加了
函数
(您可以使用,)

如果要传递参数,请执行以下操作:

myFunc({Function onTap}){
   onTap("hello");
}

//invoke
myFunc(onTap: (String text) {});

前面的解决方案通过使用命名参数使问题复杂化。下面是最简单的函数,它接受回调函数而不需要任何额外的复杂性:

testFunction(函数func){
func();
}
void main(){
testFunction((){
打印('正在调用的函数');
});
}

testFunction()
被定义为接受一个没有参数的函数(因此是
函数的数据类型
。当我们调用函数时,我们会传递一个匿名函数作为参数。

您能再解释一下为什么要使用Function关键字,please@ROB它是函数的dart中的一个类型。表示参数是函数的类型。必须传递函数的参数类型(就像其他变量类型一样。例如:
String
)。
myFunc({Function onTap}){
   onTap("hello");
}

//invoke
myFunc(onTap: (String text) {});