flutter_boost
flutter_boost copied to clipboard
3.0版本 WillPopScope监听页面返回时如何返回result
使用WillPopScope监听点击返回键,该怎么将result返回,我用下面这个方式会陷入死循环
return WillPopScope(
child: child,
onWillPop: () {
print('===>onWillPop');
BoostNavigator.of().pop({"sync": true});
return Future.value(true);
});
能否将源码中的_pendingResult[uniqueId].complete(result);
暴露出来?有点类似Android中的 Activity#setResult()
flutter_boost分支:v3.0-hotfixes
在willPop方法中不需要再调用BoostNavigator.of().pop({"sync": true});因为onWillPop返回的是一个bool,外部在等待这个bool的结果来判断是否进行pop。我想你的想法是不是在于,在pop之后,因为动作被willPop拦截了,页面没有pop,但是value却已经回调了 @cnting
不是,我的需求是希望在监听到用户点击返回键(包括物理返回键)时能将result返回。现在只有BoostNavigator.of().pop({"sync": true});
这个方法能返回result,希望能暴露一个类似Android中Activity#setResult()
的方法
问题我们已经复现,正在寻找合适的解决方案
这里的设计我觉得很好笑,调用pop方法会内部调Navigator.maybepop方法;我觉得应该这样做:NativeRouterAPI的popRoute调Navigator.maybepop, 而BoostNavigator.pop应该直接销毁当前路由。
请问这个问题有合适的解决方案了吗
请问这个问题有合适的解决方案了吗 +1 @ColdPaleLight
请问这个问题有合适的解决方案了吗 +1