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);
},