美文网首页
小白学Flutter - GetX和系统的Navigator的对

小白学Flutter - GetX和系统的Navigator的对

作者: 林希品 | 来源:发表于2023-12-28 09:15 被阅读0次

打开到新的页面:

Get.to(NextScreen());

对应原生路由:

Navigator.push(context, MaterialPageRoute<void>(
builder: (BuildContext context) {
return NextScreen();
},
));

返回:

Get.back();

对应原生路由:

Navigator.pop(context);

打开新页面,并且用新页面替换旧页面(删除旧页面):

Get.off(NextScreen());

对应原生路由:

Navigator.pushReplacement(context, MaterialPageRoute<void>(
builder: (BuildContext context) {
return NextScreen();
},
));

打开新页面并删除之前的所有路由:

Get.offAll(NextScreen());

对应原生路由:

Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) {
return NextScreen();
},
),
(Route<dynamic> route) => false,
);

导航到新页面,在返回时接收返回数据:

var data = await Get.to(NextScreen());

对应原生路由:

var data = await Navigator.push(context, MaterialPageRoute<void>(
builder: (BuildContext context) {
return NextScreen();
},
));

带返回值返回前一个路由,配合上面使用:

Get.back(result: 'success');

对应原生路由:

Navigator.pop(context, 'success');

相关文章

网友评论

      本文标题:小白学Flutter - GetX和系统的Navigator的对

      本文链接:https://www.haomeiwen.com/subject/rgwigdtx.html