Flutter:如何弹出多个参数

时间:2019-06-14 16:25:07

标签: flutter dart

这大概有点简单,我想弹出一个小部件并传递不同的参数,这就是我的意思:

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

   MyScreen(param0,param1,param2);

   @override
   MyState createState() => new MyScreenState();
}
...

我想回到此小部件传递参数,例如:

Navigator.pop(context, "NewParam0", "NewParam1", "NewParam2");

但它不起作用。

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

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

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

Navigator.pop(context, 
  {"NewParam0": "param0value", "NewParam1": "param1value", "NewParam2": "param2value"}
);

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

您还可以弹出一个轻量级的类,该类将填充默认参数,等等。如果您要来回传递很多复杂性,尽管在那时,我可能会尝试重做状态管理。