フラッターページ状態AutomaticKeepAliveClientMixinを保ちます

使用bottomNavigationBarは、(スクロールバーの位置を行方不明のリストを再描画)失われる以前の状態に戻す、下のタブを切り替えます。

ソリューション

使用 AutomaticKeepAliveClientMixin

重写BOOL GET wantKeepAlive =>はtrue。

ビルドプロセスはsuper.build(コンテキスト)を呼び出します。

class _MovieListState extends State<MovieList> with AutomaticKeepAliveClientMixin {
  List movieList = new List();

  @override
  bool get wantKeepAlive => true;
    
  @override
  Widget build(BuildContext context) {
    super.build(context);
    return ListView.builder(
      itemCount: movieList.length,
      itemBuilder: (context, index) {
        return MovieItem(
          item: movieList[index],
        );
      },
    );
  }
}

保存状態の効果をリストに達しました

ss.gif

公式サイトから引用した解説:

サブクラスは実装しなければならないwantKeepAliveを、そして彼らのビルド方法は、呼び出す必要がありますsuper.build(戻り値は常にnullを返しますが、無視してください)。

その後、いつでもwantKeepAliveの値が変更(またはかもしれない変更)、サブクラスが呼び出す必要がありupdateKeepAliveを

型引数は、Tの一種であるStatefulWidget用のサブクラスこのクラスが混合されているに。

参考リンク:

AutomaticKeepAliveClientMixin ミックスイン

おすすめ

転載: www.cnblogs.com/madlife/p/12446252.html