Flutter 保持页面状态

在使用底部导航栏 bottomNavigationBar 时,当用户切换页面时,页面会重新加载,而不会保持页面状态。而外面在工作中,时常要求页面状态不发生改变的

事例项目地址

在看了学习视频中通过 AutomaticKeepAliveClientMixin 即可实现此功能。

/**
 * with是dart的关键字,意思是混入的意思,就是说可以将一个或者
 * 多个类的功能添加到自己的类无需继承这些类, 避免多重继承导致的问题。
 * 混入AutomaticKeepAliveClientMixin,这是保持状态的关键
 * 然后重写wantKeppAlive 的值为true。
 */
class _HomePageState extends State with AutomaticKeepAliveClientMixin {
  ....
@override
  bool get wantKeepAlive => true;
  ....
}
效果图

项目地址

你可能感兴趣的:(Flutter 保持页面状态)