创建与使用滚动控制器(ScrollController)

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

处理滚动相关的东西我们需要一个滚动控制器,可以把它放在一个 store 里面,打开 post_index_store.dart,在构造方法里面,添加一个新的带名字的参数, required this.scrollController ,创建这个 store 的时候可以提供一个 scrollController。

在这个 store 里面,再添加一个属性,类型是 ScrollController,名字是 scrollController。

post_provider.dart

打开 post_provider.dart,修改一下 postIndexStoreProvider,在这个 update 方法里面,声明一个 ScrollController 名字是 scrollController 。

下面判断一下,如果 postIndexStore?.scrollController 等于 null ,让这个 scrollController 等于一个新的 ScrollController() ,else ,不然的话,就让 scrollController 等于 postIndexStore! 里的 scrollController 。

return 这个 PostIndexStore 的时候,添加一个 scrollController ,值是 scrollController 。

这样创建这个 PostIndexStore 的时候,如果原本它里面还没有 scrollController,就是新建一个,如果已经有了,就用原来的这个 scrollController。

post_index.dart

打开 post_index.dart,在文件顶部导入一个包,package:provider/provider.dart 。然后可以把这个小部件转换成一个带状态的小部件。

在小部件里添加一个属性,用 late 标记一下,类型是 PostIndexStore 名字是 store 。然后添加一个 initState 方法,在这个方法里面,设置一下 store 的值,让它等于,用一下 context.read 方法,类型是 PostIndexStore。

下面我们给这个 CustomScrollView 提供一个滚动控制器,在它里面添加一个 controller 参数,值设置成 store.scrollController。

最后再重新启动一下应用。

创建与使用滚动控制器(ScrollController)《 Flutter 移动端实例:滚动加载 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点