Flutter:如何弹出多个参数

Jul*_*ien 4 dart flutter

这可能很简单,我想弹出一个小部件并传递不同的参数,这就是我所拥有的:

 class MyScreen extends StatefulWidget {
   final String param0;
   final String param1;
   final String param2;

   MyScreen(param0,param1,param2);

   @override
   MyState createState() => new MyScreenState();
}
...
Run Code Online (Sandbox Code Playgroud)

我想回到这个传递参数的小部件,如下所示:

Navigator.pop(context, "NewParam0", "NewParam1", "NewParam2");
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

我可以使用 1 个参数和上下文来弹出,但它不适用于多个参数,

任何想法?

thm*_*nnr 7

是的,解决方案很简单!我处理这个问题的方法是弹出一个对象。例如,一个Map<String, String>

Navigator.pop(context, 
  {"NewParam0": "param0value", "NewParam1": "param1value", "NewParam2": "param2value"}
);
Run Code Online (Sandbox Code Playgroud)

(参见https://api.flutter.dev/flutter/widgets/Navigator/pop.htmlhttps://flutter.dev/docs/cookbook/navigation/returning-data

如果您需要来回传递很多复杂性,您还可以创建一个要弹出的轻量级类,它将填充默认参数等,但在那时,我可能会尝试稍微修改一下我的状态管理。