Flutter Linux & Mac OS & Web: 提供的ScrollController当前附加了多个ScrollPosition

Flutter Linuix & Mac OS & Web: The provided ScrollController is currently attached to more than one ScrollPosition

我用的是 Flutter Linux:

我有一些基本的 children 需要稍微滚动一下,所以我需要一个列表视图来启用滚动,并得到了一个像这样的简单代码的异常:

ListView(
  children: [
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
  ],
)

通知 AnimationController 的状态侦听器时抛出了以下断言: 提供的 ScrollController 当前附加到多个 ScrollPosition。

解决方法很简单,只需像这样将控制器添加到列表视图即可:

ListView(
      controller: ScrollController(),
  children: [
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
    Text(
      'data',
      style: TextStyle(fontSize: 215),
    ),
  ],
)

来源:

https://github.com/flutter/flutter/issues/85456

要消除此错误,您可以将小部件树包装在 ScrollConfiguration 中:

ScrollConfiguration(
          behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
          child: ListView()