dart – 如何检查当前路线是哪条?

dart – 如何检查当前路线是哪条?,第1张

概述我想使用抽屉导航到不同的路线,但是如果我已经在该路线上,我每次点击它时都不想打开路线的新实例,而是我希望在这种情况下新的路线是没开.到目前为止这是我的代码: Widget build(BuildContext context){ return new Drawer( child: new ListView( children: <Wi 我想使用抽屉导航到不同的路线,但是如果我已经在该路线上,我每次点击它时都不想打开路线的新实例,而是我希望在这种情况下新的路线是没开.到目前为止这是我的代码:

Widget build(BuildContext context){    return new Drawer(      child:          new ListVIEw(            children: <Widget>[              new ListTile(                Title: new Text("NewRoute"),onTap: () {                    Navigator.of(context).pop;                    Navigator.of(context).pushnamed('/NewRoute');                }              )           )     )}

我想使用条件语句来检查我们是否在某条路线上.我知道有一种方法可以检查我们当前使用Route类的isCurrent的路径

https://docs.flutter.io/flutter/widgets/Route/isCurrent.html

虽然我不知道如何实现它.

先感谢您!

解决方法 导航器不会显示当前路径.

你可以做的是使用Navigator.popUntil(回调)作为popUtil传递给当前Route的回调,其中包括它的名称和内容.

final newRoutename = "/NewRoute";bool isNewRouteSameAsCurrent = false;Navigator.popUntil(context,(route) {  if (route.settings.name == newRoutename) {    isNewRouteSameAsCurrent = true;  }  return true;});if (!isNewRouteSameAsCurrent) {  Navigator.pushnamed(context,newRoutename);}
总结

以上是内存溢出为你收集整理的dart – 如何检查当前路线是哪条?全部内容,希望文章能够帮你解决dart – 如何检查当前路线是哪条?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存