Flutter 使用Dart/FLATTER调用多个回调

Flutter 使用Dart/FLATTER调用多个回调,flutter,dart,Flutter,Dart,我正在使用我编写的一个实用程序类,它显示了一个包含各种操作的警报对话框。每次操作,我都可以使用onPressed方法。以前我一直使用它来简单地关闭警报对话框,例如: onPressed:()=>Navigator.of(context).pop(true) 这非常有效,直到我想在触发导航器之前传递一个要触发的额外回调。当我将回调传递到此类中时,我会尝试以下操作: onPressed: () { this.cancelCallback; Navigator.of(context).pop(

我正在使用我编写的一个实用程序类,它显示了一个包含各种操作的警报对话框。每次操作,我都可以使用
onPressed
方法。以前我一直使用它来简单地关闭警报对话框,例如:

onPressed:()=>Navigator.of(context).pop(true)

这非常有效,直到我想在触发
导航器之前传递一个要触发的额外回调。当我将回调传递到此类中时,我会尝试以下操作:

onPressed: () {
  this.cancelCallback;
  Navigator.of(context).pop(false);
},
其中
this.cancelCallback
是传递到此小部件类的
VoidCallback
。然而,这显然是错误的语法,Flatter只是跳过了它,直接进入
Navigator
逻辑


这里的基本推理是,我希望在警报对话框中发生取消/接受事件之前,传入要触发的任何回调逻辑。我不知道如何传入回调并同时启动此
Navigator
回调。

对于在flatter中调用函数,应在函数名后添加()
function()和非
功能
js
中,
()
表示对函数的调用。
没有
()

您只获得了对函数的引用,在dart中它有不同的
所以


您没有调用
cancelCallback
函数,可能这就是它没有被触发的原因
onPressed:(){this.cancelCallback();Navigator.of(context.pop(false);},
Wow,我这方面真是个愚蠢的疏忽。你说得对。请添加此作为答案,我将接受!有人已经这么做了,你可以接受他的回答。只要您的问题得到解决就可以:)
onPressed: () {
  this.cancelCallback();
  Navigator.of(context).pop(false);
},