Skip to content

ListWheelScrollView doesn't scroll to last item when items are removed #90953

@nt4f04uNd

Description

@nt4f04uNd

Steps to Reproduce

  1. Have a ListWheelScrollView
  2. Remove some items

Expected results: list behaves like a regular ListView

Actual results: list stucks until you scroll aggressively

Video
2021-09-29.15-05-46.mp4
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: MyHomePage(),
  ));
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final list = [0, 1, 2, 3, 4, 5];
  final colors = [
    Colors.cyan,
    Colors.indigo,
    Colors.pink,
    Colors.red,
    Colors.blue,
    Colors.yellowAccent
  ];

  @override
  void initState() {
    super.initState();
  }

  Future<void> removeItems() async {
    if (list.length <= 3)
      return;
    list.removeLast();
    list.removeLast();
    list.removeLast();
    setState(() { });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Row(
          children: [
            ElevatedButton(
              child: Text('remove items'),
              onPressed: removeItems,
            ),
          ],
        ),
      ),
      body: ListWheelScrollView(
        itemExtent: 400,
        physics: FixedExtentScrollPhysics(),
        children: [
          for (final index in list)
            SizedBox(
              width: double.infinity,
              child: Container(
                height: 400,
                color: colors[index % 6],
                child: Text(
                  index.toString(),
                  style: TextStyle(
                    fontSize: 30,
                  ),
                ),
              ),
            ),
        ],
      ),
    );
  }
}
flutter doctor -v
[√] Flutter (Channel master, 2.6.0-12.0.pre.136, on Microsoft Windows [Version 10.0.19041.1237], locale ru-RU)
    • Flutter version 2.6.0-12.0.pre.136 at C:\dev\src\flutter
    • Upstream repository [email protected]:nt4f04und/flutter.git
    • FLUTTER_GIT_URL = [email protected]:nt4f04und/flutter.git
    • Framework revision aaa14b8004 (2 hours ago), 2021-09-29 06:03:04 -0400
    • Engine revision bccb3a57eb
    • Dart version 2.15.0 (build 2.15.0-156.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\danya\AppData\Local\Android\sdk
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.60.2)
    • VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.26.0

[√] Connected device (4 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version 10.0.19041.1237]
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 94.0.4606.61
    • Edge (web)              • edge          • web-javascript • Microsoft Edge 94.0.992.31

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

Labels

f: scrollingViewports, list views, slivers, etc.found in release: 2.5Found to occur in 2.5found in release: 2.6Found to occur in 2.6frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions