首页 > 解决方案 > 如果推送的pageA被pageB替换,如何得到结果

问题描述

问题是如何获取主页中的_parkSpace?

// in home page
Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => FetchParkinglot(),
  ),
);
// in FetchParkinglot
Navigator.pushReplacement(
  context,
  MaterialPageRoute(
    builder: (context) => BookRoute(l),
  ),
);
// in BookRoute
Navigator.pop(context, _parkSpace);

标签: flutterroutesnavigator

解决方案


 // in home page
  final result = await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => FetchParkinglot(),
    ),
  );


  // in FetchParkinglot
  final result = await Navigator.push(//result is _parkSpace
    context,
    MaterialPageRoute(
      builder: (context) => BookRoute(l),
    ),
  );
  Navigator.pop(context,result);


  // in BookRoute
  Navigator.pop(context, _parkSpace);

推荐阅读