在 Flutter 中使用 InheritedWidget 时 ListView 失去滚动位置
Posted
技术标签:
【中文标题】在 Flutter 中使用 InheritedWidget 时 ListView 失去滚动位置【英文标题】:ListView loses scroll position when using InheritedWidget in Flutter 【发布时间】:2019-09-17 17:58:11 【问题描述】:将 InheritedWidget 添加到应用程序后,当我使用 Pop() 从详细信息屏幕返回列表时,我发现 ListView 失去了滚动位置(所选项目索引)。
我知道小部件可以随时重建,但也许有人可以在不手动处理缓存的情况下提出解决方案。
附: 在实现 InheritedWidget 之前滚动位置很好
【问题讨论】:
我们缺乏信息。也许插入一些代码来帮助我们重现错误 在这种情况下的问题是在 ListView 中为某些小部件实现 GlobalKey 的方式错误。所以这不是 InheritedWidget 的问题 【参考方案1】:没有任何代码,所以在黑暗中开枪
尝试添加“密钥” 像这样
ListView(
key: const PageStorageKey<String>('some unique text'),
//other parameters
);
【讨论】:
以上是关于在 Flutter 中使用 InheritedWidget 时 ListView 失去滚动位置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 flutter_webview 插件在 Flutter 中启用位置?
在flutter中使用Chopper网络库和flutter_bloc库
Flutter : 在 Flutter web 中使用 Froala-editor