Flutter 保持页面状态

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

事例项目地址

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

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

项目地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。