Flutter

小白学Flutter - Get.to/Get.back 带参数

2023-11-27  本文已影响0人  林希品

例子:

Get.toName带参数
页面一:

Get.toNamed(RouterPath.login_Phone_password,arguments:{"123123":"123123123123123"});

页面二:

var map = Get.argument;
print(map);

Get.back带参数
页面二:

void backToLoginInde() {
    print("backToLoginInde = result");
    Get.back(result: {"result":"123123123"});
  }

页面一:

 Future<void> jumpPhonePasswordLogin() async {
    var map = await Get.toNamed(RouterPath.login_Phone_password,arguments:{"123123":"123123123123123"});
    print("map = map = map = ${map}");
  }

总结
导航到新的页面

Get.to(NextScreen());
Get.toNamed("/NextScreen");

关闭SnackBars、Dialogs、BottomSheets或任何你通常会用Navigator.pop(context)关闭的东西

Get.back();

进入下一个页面,但没有返回上一个页面的选项(用于SplashScreens,登录页面等)

Get.off(NextScreen());
Get.offNamed("/NextScreen");

进入下一个界面并取消之前的所有路由(在购物车、投票和测试中很有用)

Get.offAll(NextScreen());
Get.offAllNamed("/NextScreen");

发送数据到其它页面
只要发送你想要的参数即可。Get在这里接受任何东西,无论是一个字符串,一个Map,一个List,甚至一个类的实例。

Get.to(NextScreen(), arguments: 'Get is the best');
Get.toNamed("/NextScreen", arguments: 'Get is the best');

在你的类或控制器上:

print(Get.arguments);
//print out: Get is the best

要导航到下一条路由,并在返回后立即接收或更新数据

var data = await Get.to(Payment());
var data = await Get.toNamed("/payment");

在另一个页面上,发送前一个路由的数据

Get.back(result: 'success');
// 并使用它,例:
if(data == 'success') madeAnything();
上一篇 下一篇

猜你喜欢

热点阅读