ときフラッター一度だけ、各ページのTabBarViewスイッチングを実現initState

ときにスイッチアセンブリTabBarViewページ、各サブページは、再びinitState、以下のようにページが再描画されますたびに切り替えるにつながります

あなたが最初に一度だけのページを入力する必要がある場合  initState  まず、もはやページを再入力して、その後  initState  、あなたはサブページに以下を追加する必要があります

まず、クラス継承の後ろにプラス  AutomaticKeepAliveClientMixinと  

AutomaticKeepAliveClientMixinと

  

そのクラスに追加されました

@Override 
BOOL GET wantKeepAlive =>はtrue。///参照AutomaticKeepAliveClientMixin

  

最後に、追加のビルド

super.build(コンテキスト)。///参照AutomaticKeepAliveClientMixin

  

次のように完全なコードです

インポート'パッケージ:フラッター/ material.dart'; 

クラスページは{StatefulWidgetを拡張
  @Override 
  _PagesState createState()=> _PagesState(); 
} 

クラス_PagesStateはAutomaticKeepAliveClientMixin有する状態<ページは>延び{ 

  @Override 
  BOOL GET wantKeepAlive =>真。/// AutomaticKeepAliveClientMixin参照

  @Override 
  ウィジェットビルド(BuildContextコンテキスト){ 
    super.build(コンテキスト)。/// AutomaticKeepAliveClientMixin参照
    // TODO:実装ビルド
    リターンコンテナを(); 
  } 
}

  

完全な結果は、ページに最初の時間をinitState実行されます。この時点で、以下の通りです。

 

おすすめ

転載: www.cnblogs.com/gxsyj/p/11489756.html