Flutter:返回主屏幕时如何立即调用函数?
Flutter 返回主屏幕后立即调用函数的实现方法
你可以利用Navigator.push返回的Future特性来实现需求,不管是手动调用Navigator.pop还是按安卓返回键返回,只要页面被弹出,后续的回调就会触发,直接执行你需要的函数。下面是两种常用实现方式:
链式调用(then回调)
修改你原来的跳转代码,在Navigator.push后添加then回调:IconButton( onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => screen2()), ).then((_) { // 这里填写你要在返回后立即调用的函数 yourTargetFunction(); }); }, )async/await语法(更直观)
将onPressed改为异步函数,等待页面跳转完成后执行目标函数:IconButton( onPressed: () async { await Navigator.push( context, MaterialPageRoute(builder: (context) => screen2()), ); // 页面返回后自动执行这里的函数 yourTargetFunction(); }, )
两种方式效果完全一致,选你习惯的写法即可。
内容的提问来源于stack exchange,提问作者CastoldiG
相关产品推荐
相关产品推荐

