如何解决Flutter中ScrollController绑定多个ScrollPosition的报错?
解决Flutter报错:提供的ScrollController当前已附加到多个ScrollPosition
报错原因
同一个ScrollController被同时绑定到了多个可滚动组件,而Flutter中一个ScrollController只能关联一个ScrollPosition,因此触发该错误。
错误代码示例
ScrollController scrollController = ScrollController(); ListView.builder( …… …….. CupertinoScrollbar( controller: scrollController, thumbVisibility: true, child: ListView.builder( controller: scrollController, …… ) ) )
解决方案代码
创建两个独立的ScrollController,分别分配给外层列表和滚动条,内层列表复用外层控制器,确保每个控制器只关联一个滚动位置:
ScrollController outerScrollController = ScrollController(); ScrollController innerScrollController = ScrollController(); ListView.builder( controller: outerScrollController, // 其他属性 // ... ) CupertinoScrollbar( controller: innerScrollController, thumbVisibility: true, child: ListView.builder( controller: outerScrollController, // 其他属性 // ... ) )
内容的提问来源于stack exchange,提问作者NURİ ÜLGEN
相关产品推荐
相关产品推荐

