我有这种带有onTap参数的方法
myFunc({onTap}){
return onTap;
}
然后,我需要像这样使用它
myFunc(
onTap: print('lorem ipsum');
)
我该如何正确设置?谢谢
答案 0 :(得分:3)
您可以按照以下方式进行操作。请注意,您可以指定参数,也可以避免,并且我已经添加了myFunc({Function onTap}){
onTap();
}
//invoke
myFunc(onTap: () {});
(可以使用ValueChange,Voidcallback)
myFunc({Function onTap}){
onTap("hello");
}
//invoke
myFunc(onTap: (String text) {});
如果要传递参数:
GetAllClients
答案 1 :(得分:1)
先前的解决方案使用命名参数使问题复杂化。这是最简单的函数,它采用回调函数,没有任何额外的复杂性:
testFunction(Function func){
func();
}
void main() {
testFunction( () {
print('function being called');
});
}
testFunction()
被定义为接受一个没有参数的函数(因此数据类型为 Function
。当我们调用该函数时,我们传递一个匿名函数作为参数。
答案 2 :(得分:0)
这是一个为回调的参数添加类型安全的示例:
void forEach(Function(T, int) cb){
Node<T>? current = head;
int index = 0;
while (current != null){
cb(current.value, index);
index++;
current = current.next;
}
}
调用:
list.forEach((v, i){
print(v);
});