【发布时间】:2018-11-21 20:19:06
【问题描述】:
我想使用抽屉导航到不同的路线,但如果我已经在该路线上,我不想每次点击它时都打开一个新的路线实例,而是我更喜欢在这种情况下新路线未开通。到目前为止,这是我的代码:
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 来检查我们当前所在的 Route
https://docs.flutter.io/flutter/widgets/Route/isCurrent.html
虽然我不确定如何实现它。
提前谢谢你!
【问题讨论】:
-
使用docs.flutter.io/flutter/widgets/RouteObserver-class.html 保留最后一个事件并将其提供给相关方可能会起作用(我自己没有尝试过)。
-
有趣的是,
RouteAware方法不提供路由设置。所以RouteAware你无法知道当前路由的名称是什么。