翩翩。有什么办法可以全局保存一个列表,这样在我的应用中导航后,状态就能保持?

问题描述 投票:0回答:1

我基本上有一个待办事项风格的列表,用户可以创建列表项,它以列表的形式显示在屏幕上。当我向后导航到我的主菜单并返回时,列表没有保存。我已经将列表保存为这样的状态。

class CustomExScreenState extends State<CustomExScreen>
    with TickerProviderStateMixin {
  List<Exerciselist> items = new List<Exerciselist>();
  GlobalKey<AnimatedListState> animatedListKey = GlobalKey<AnimatedListState>();
  AnimationController emptyListController;

我是否需要为每个 "屏幕 "复制这些代码?有更好的方法吗?如果问题不清楚,请原谅,我是编程新手,有点迷茫。如果有人能给我一个正确的方向,那将是非常感激的。谢谢你

flutter dart navigation save state
1个回答
1
投票

你基本上有2种方法。

  1. 使用供应商包: 你创建一个 ChangeNotifier 并将您的列表放在那里,然后您提供这个 ChangeNotifier 在您的小组件树中,在所有应该访问它的小组件之上,然后您可以使用 提供者 包来访问所有私有小组件的列表 ( 点击 此处 以获得使用该软件包的示例)
  2. (不那么优雅):你可以在任何类之外的模块(文件)中把列表定义为一个全局变量,然后把它导入到任何其他文件中,并使用它
© www.soinside.com 2019 - 2024. All rights reserved.