假设我正在使用Navigator.pop的默认方式在屏幕间传递数据:
@override
void selectUserAction(BuildContext context) async {
final result = await Navigator.of(context).push(
MaterialPageRoute(builder: (context) => SelectUserPage()));
final User selectedUser = result as UserModel;
}
Navigator.pop(context, selectedUser);
那么在这种情况下一切都很顺利。
我知道我可以使用AppBar的leading属性来处理返回按钮交互(onPressed),代码如下:
leading: IconButton(
icon: BackButtonIcon(),
onPressed: () {
Navigator.pop(context, selectedUser);
},
),
但是我们有几个选项可以返回到以前的屏幕(在Android上使用后退按钮,在iOS上滑动返回等)。那么我们应该怎么处理这个问题呢?
无论如何,我需要将数据返回到以前的屏幕。