Skip to content

Cannot use Arrows to traverse Dropdown Menu when using Expanded Insets #162897

@PvtPuddles

Description

@PvtPuddles

Steps to reproduce

Flutter 3.27.4, MacOS

  1. Create a DropdownMenu
  2. Set expandedInsets to some non-null value.
  3. Enter some text into the menu and try to navigate with the arrow keys

Expected results

I expect that users can traverse the dropdown menu the same way as any other.

Actual results

However, when using expandedInsets:

  • Users can no longer use the left and right arrows to move the cursor through the text
  • Users can no longer use the up and down arrows to select a dropdown entry

In places with constraints enforced, this can be worked around by using width: double.maxFinite.

(Unrelated, tab-ing out of the DropdownMenu also doesn't close the menu; but that's probably an issue for another day)

Code sample

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  static const dropdownEntries = [
    DropdownMenuEntry(value: 1, label: "Entry 1"),
    DropdownMenuEntry(value: 2, label: "Entry 2"),
    DropdownMenuEntry(value: 3, label: "Entry 3"),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          DropdownMenu(
            dropdownMenuEntries: dropdownEntries,
          ),
          DropdownMenu(
            dropdownMenuEntries: dropdownEntries,
            expandedInsets: EdgeInsets.zero,
          ),
        ],
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
Screen.Recording.2025-02-07.at.2.30.32.PM.mov

Logs

No response

Flutter Doctor output

Doctor output
flutter doctor -v
[✓] Flutter (Channel stable, 3.27.4, on macOS 15.3 24D60 darwin-arm64, locale en-US)
    • Flutter version 3.27.4 on channel stable at /Users/stephen/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d8a9f9a52e (7 days ago), 2025-01-31 16:07:18 -0500
    • Engine revision 82bd5b7209
    • Dart version 3.6.2
    • DevTools version 2.40.3

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/stephen/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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 21.0.3+-79915917-b509.11)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.3.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 83.0.4
    • Dart plugin version 243.23177

[✓] IntelliJ IDEA Community Edition (version 2022.3.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] Connected device (4 available)
    ...

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listfound in release: 3.29Found to occur in 3.29frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions