Flutter进阶篇(6)-- PageStorageKey、PageStorageBucket和PageStorage使用详解

声明:本文是作者AWeiLoveAndroid原创,版权归作者AWeiLoveAndroid所有,侵权必究。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!

如果你想从一个页面进入另一个页面,返回时还是保留着跳转前的最后的状态,也许你第一个想的是用Key去实现,但是那么有点麻烦,很多人的都不知道如何下手。今天我查找源码,发现了一个PageStorage这个类,它主要是用于存储状态的,不管你有多少页面,都可以保存状态信息。真是太方便了,而且使用起来也是超级简单。下面详细讲解一下PageStorageKey、PageStorageBucket和PageStorage这几个类的用法和源码解析。


Flutter安装路径:E:/develop/flutter

本文所讲到的文件名称为:page_storage.dart,源码存放在本地的路径为:Flutter安装路径/packages/flutter/lib/src/widgets/page_storage.dart

一、PageStorageKey:

PageStorageKey继承自ValueKey,其实就是一个Key,保存状态用的。

PageStorageKey:它是定义PageStoragevalue将保存在何处的一个ValueKey
Scrollable(实际上是ScrollPosition)以及它的相关类使用PageStorage保存滚动偏移量。每次滚动完成时,滚动条的页面存储都会更新。

源码:

class PageStorageKey<T> extends ValueKey<T> {
  /// Create

猜你喜欢

转载自blog.csdn.net/lzw2497727771/article/details/103576847
今日推荐