程序员

Flutter 返回上一页并刷新

作者:admin 2021-04-08 我要评论

用flutter路由跳转页面时,主要用到的就是 Navigator.push(); 和 Navigator.pop(); 两个方法。 但是存在一个问题: 当我从主页跳转到另一个页面,再返回到主页时...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

用flutter路由跳转页面时,主要用到的就是Navigator.push();Navigator.pop();两个方法。

但是存在一个问题:

当我从主页跳转到另一个页面,再返回到主页时,主页并不能主动刷新。怎么解决呢?

答案时,当返回到主页时,监听到返回事件,然后主动触发主页刷新。

class PageOne extends StatefulWidget {
  @override
  _PageOneState createState() => new _PageOneState();
}

class _PageOneState extends State<PageOne> {    // 第一个页面
  _getRequests()async{  
        print('这里进行操作');
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: RaisedButton(onPressed: ()=>
        Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>PageTwo()),)
        .then((val)=>val?_getRequests():null), // 通过then进行监听回调参数
      ),
    ));
  }
}

class PageTwo extends StatelessWidget { // 第二个页面
  @override
  Widget build(BuildContext context) {
    //somewhere
    Navigator.pop(context,true); // 第二个就是需要传到参数
  }
}

本文转自网络,版权归原作者所有,原文链接:https://segmentfault.com/a/1190000039380091

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Linux火眼金睛:查找两个目录之间的差

    Linux火眼金睛:查找两个目录之间的差

  • 微软提前推送Windows 10 21H1更新:这

    微软提前推送Windows 10 21H1更新:这

  • 学会这21条,你离Vim大神就不远了!

    学会这21条,你离Vim大神就不远了!

  • 有了这个神器,再也不怕shell写得不对

    有了这个神器,再也不怕shell写得不对

腾讯云代理商
海外云服务器