Flutter 返回上一页并刷新

2021-03-23 21:17:24 浏览数 (2)

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

但是存在一个问题:

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

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

代码语言:javascript复制
 1class PageOne extends StatefulWidget {
 2  @override
 3  _PageOneState createState() => new _PageOneState();
 4}
 5
 6class _PageOneState extends State<PageOne> {    // 第一个页面
 7  _getRequests()async{  
 8        print('这里进行操作');
 9  }
10  @override
11  Widget build(BuildContext context) {
12    return Scaffold(
13      body: Center(
14        child: RaisedButton(onPressed: ()=>
15        Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>PageTwo()),)
16        .then((val)=>val?_getRequests():null), // 通过then进行监听回调参数
17      ),
18    ));
19  }
20}
21
22class PageTwo extends StatelessWidget { // 第二个页面
23  @override
24  Widget build(BuildContext context) {
25    //somewhere
26    Navigator.pop(context,true); // 第二个就是需要传到参数
27  }
28}

0 人点赞