当我在 ListView() 上包装 Scrollbar() 滚动条()不起作用 看得见却拖不动
这是我的代码
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text('products', style: TextStyle(color: Colors.black87)),
elevation: 0.5,
),
body: SafeArea(
child: Scrollbar(
child: ListView.builder(
padding: EdgeInsets.only(top: kMediumGap),
controller: _scrollController, // ✅
shrinkWrap: true,
itemCount: _products.length + 1,
...
@override
void initState() {
super.initState();
_scrollController.addListener(() {
if (_scrollController.position.pixels >= _scrollController.position.maxScrollExtent && !_fetching) {
debugPrint('🟡 end of list = end of list');
fetchProducts();
}
}
如果我删除(分离)ListView() 中的 _scrollController 滚动条()工作正常。但我看不到滚动的结束所以这是必要的
如果我用 _scrollController 设置 Scrollbar() 控制器属性 卷轴很脏。一点也不顺利。
有什么原因或解决办法吗? 我想注意到滚动和 Scrollbar() 拖动功能的结束。两者都。
我测试了你的代码,它对我来说工作正常。我认为你的 fetchProducts() 函数有问题。
我注意到将
Scrollbar
替换为 CupertinoScrollbar
就可以了,也可以附加 ScrollController
到它。
body: SafeArea(
child: CupertinoScrollbar(
controller: _scrollController,
child: ListView.builder(
padding: EdgeInsets.only(top: kMediumGap),
controller: _scrollController, // ✅
shrinkWrap: true,
itemCount: _products.length + 1,