Flutter页面状态的保持

2020-05-13  本文已影响0人  小学生课代表

AutomaticKeepAliveClientMixin这个Mixin就是Flutter为了保持页面设置的。哪个页面需要保持页面状态,就在这个页面进行混入。

不过使用使用这个Mixin是有几个先决条件的:

  1. Scaffold中的bottomNavigationBar,body如下:
 body: IndexedStack(
        index: currentIndex,//当前的下标
        children: tabBodies//子页面的Widget
      )
  1. 然后在要保持状态的子页面混入
class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
  @override
  bool get wantKeepAlive =>true;
}
  1. 验证:
@override
  void initState() {
    super.initState();
     print('111111111111111111111111111');
  }

只会输出一次'111111111111111111111111111'

上一篇下一篇

猜你喜欢

热点阅读