我在我的应用中使用了 persistent_bottom_nav_bar 库。当我使用导航器显示新屏幕时,将显示错误。
InkWell(
onTap: () {
Navigator.of(context).popUntil(ModalRoute.withName("previousjob"));
Navigator.of(context).pushAndRemoveUntil(
CupertinoPageRoute(
builder: (BuildContext context) {
return SettingMenu();
},
),
(_) => true,
);
},
答案 0 :(得分:2)
我在我的代码中解决了这个问题。我的问题是,在导致错误的特定情况下,我被两次调用了 navigator pop。
答案 1 :(得分:1)
就我而言,这是因为我在调用 pop
后尝试调用 pushAndRemoveUntil
。删除上述 pop
后,它工作正常。
答案 2 :(得分:0)
这是我的第一个答案,因此可能不太清楚。但是据我所知,在遇到相同问题的同时,您需要先使用push
,然后才能实际使用pop
。
您首先使用pop
,因此历史记录中没有任何内容。
尝试:
InkWell(
onTap: () {
Navigator.of(context).pushNameed(ModalRoute.withName("previousjob"));
Navigator.of(context).pushAndRemoveUntil(
CupertinoPageRoute(
builder: (BuildContext context) {
return SettingMenu();
},
),
(_) => true,
);
},
答案 3 :(得分:0)
解决了!就我而言,我使用的是这个:
Navigator.of(context).pushReplacement(MaterialPageRoute())
我改成这样:
Navigator.push(context, MaterialPageRoute())