Flutter在页面中获取导航器参数

时间:2018-11-11 09:03:29

标签: dart flutter

我有2页PAGE A和PAGEB。我从PAGE A-> PAGE B导航并确实编辑了一些数据,或切换了设置。现在,我要浏览PAGE B-> PAGE A的表单,以及要在导航器pop方法上发送的参数。现在我的问题是:

如何在PAGE A中访问这些参数?

 Navigator.pop(context, this.selectedEquipmentId);

1 个答案:

答案 0 :(得分:1)

实际上,您必须在结束PageA时返回一些内容。我用一个带有弹出窗口的示例来选择我最近制作的地址,如果不是弹出窗口,则此工作完全相同。

Future<PlacesDetailsResponse> showAdressPicker({@required BuildContext context}) async {
  assert(context != null);
  return await showDialog<PlacesDetailsResponse>(
    context: context,
    builder: (BuildContext context) => AdressPickerComponent(),
  );
}

您可以从Navigator.pop(...)发送结果,并从PageA获取结果

Navigator.pop(context, result)

只需在结果中放入任何您想要的东西(在这里,我创建了一个名为PlacesDetailsResponse的类,使用您的类,或者只是Int,String ...)。 现在在pageA中,当您调用

showAdressPicker(context: context).then((PlacesDetailsResponse value) {
  //do whatever you want here
  // this fires when PageB call previous to PageA
});