一、PageStorageKey: PageStorageKey继承自ValueKey,其实就是一个Key,保存状态用的。...PageStorageKey:它是定义PageStorage的value将保存在何处的一个ValueKey。...的滚动偏移量(scroll offsets),我们指定了pageStorageKey,其值是Tabs的字符串标签。...PageStorage; } List> _allKeys(BuildContext context) { final List>的集合,里面存放的是PageStorageKey,isNotEmpty函数判断传入的List集合是否为空
使用TabBar同样存在TabBarView重新build的问题,解决方案一样,加一个PageStorageKey: child: new Container( key: new PageStorageKey
, onTap: (){ _showSeletedName(bean.name); }, ); } return ExpansionTile( key: PageStorageKey...ExpansionTile的使用 一般传入三个参数 key,title,children; title:每一行上面的文字; children:菜单下面的子条目,是一个数组; key:根据源码传入PageStorageKey...When used with scrolling widgets like /// [ListView], a unique [PageStorageKey] must be specified to
tabController, children: [ _buildTabView1(), _buildTabView2(), ], ) 此时切换tab时,页面会重建,解决方法设置PageStorageKey...: var _newsKey = PageStorageKey('news'); var _technologyKey = PageStorageKey('technology'); TabBarView
PageStorageKey:专用于存储页面滚动位置的key。 GlobalKey:见后文。 何时使用key ValueKey 如果您有一个 Todo List 应用程序,它将会记录你需要完成的事情。...(还不如不用) PageStorageKey 当你有一个滑动列表,你通过某一个 Item 跳转到了一个新的页面,当你返回之前的列表页面时,你发现滑动的距离回到了顶部。...这时候,给 Sliver 一个 PageStorageKey!它将能够保持 Sliver 的滚动状态。 GlobalKey 每个globalkey都是一个在整个应用内唯一的key。
除了这个,其实还有第二种做法,使用如下方 PageStorageKey 保持页面数状态,但是因为它是 save and restore values ,所以的页面的 dispose 再重新 initState...return new Scaffold( key: new PageStorageKey(your value) ) 9、懒加载 Flutter 中通过
下面详细讲解一下PageStorageKey、PageStorageBucket和PageStorage这几个类的用法和源码解析。...GestureDetector)分析详解 Flutter进阶篇(4)-- Flutter的Future异步详解 Flutter进阶篇(5)-- 使用Flutter创建插件详解并发布到Pub库 Flutter进阶篇(6)-- PageStorageKey
=> route == null); 列表页面,没啥好说的,ListView大家应该都用过,只是需要记住一点,列表再跳转详情时需要记录当前列表的滚动位置,只需加入以下代码即可: key: new PageStorageKey
builder: (BuildContext context) { return CustomScrollView( key: PageStorageKey
GestureDetector)分析详解 Flutter进阶篇(4)-- Flutter的Future异步详解 Flutter进阶篇(5)-- 使用Flutter创建插件详解并发布到Pub库 Flutter进阶篇(6)-- PageStorageKey
CustomScrollView( // key 保证唯一性 key: PageStorageKey
可以看PageStorageKey, 和另外一个例子,这个例子是deletion: https://flutter.io/cookbook/gestures/dismissible/.
领取专属 10元无门槛券
手把手带您无忧上云