Fultter学习之ListView重置(缓存)问题。

320 阅读1分钟

情况:首页使用ListView,每次切换tabbar的时候,都会回到最顶端,后来了解到每次切换页面他都会重新加载。

通过问群里的人的得知了KeepAliveWrapper这个组件(一个大佬封装的)。我试了一下发现并不行,但在查询中我得知了另外一个组件AutomaticKeepAliveClientMixin

使用方法: 在listView所属的页面中操作:

class _WXWeChatState extends State<WXWeChat> with AutomaticKeepAliveClientMixin {

  @override
  bool get wantKeepAlive => widget.keepAlive;
}

编译之后发现还不行。经过查资料后发现还需要在tabbar中这样初始化body

image.png

结束:开心的一批。