我试图了解Navigator 2.0 Pages API,该API允许通过Navigator.pages属性来修改导航堆栈。
我准备了一个简单的演示,其中尝试通过更新提供的页面列表从后堆栈中删除页面。
但是,当仅从Navigator.pages中删除CustomPage
时,就会出现动画故障。一秒钟,您可以看到该页面在当前页面下方处于动画状态。
这是Flutter框架中的错误,还是有更好的方法从后堆栈中删除页面?
答案 0 :(得分:1)
在ValueKey
小部件中添加Navigator
似乎可以解决问题:
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Navigator Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Navigator(
key: ValueKey(pages.length), // <-------------
pages: List.unmodifiable(pages),
onPopPage: _onPopPage,
),
);
}