Skip to content

Conversation

@mohamedamara
Copy link
Contributor

This PR adds support for hiding the trailing icon in DropdownMenu widget. Currently, there's no built-in option to remove it.

The change is non-breaking, as the trailing icon remains visible by default unless showTrailingIcon is explicitly set to false. The showTrailingIcon parameter follows a similar pattern to its use in the ExpansionTile widget.

Fixes #164908

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Apr 24, 2025
@mohamedamara mohamedamara force-pushed the fix_164908_add_option_to_hide_trailing_icon branch 6 times, most recently from 75d4a08 to 09f3e35 Compare April 26, 2025 20:08
@dkwingsmt dkwingsmt requested a review from QuncCccccc April 30, 2025 18:23
@mohamedamara mohamedamara force-pushed the fix_164908_add_option_to_hide_trailing_icon branch from 09f3e35 to fbbf744 Compare May 1, 2025 18:34
Copy link
Contributor

@QuncCccccc QuncCccccc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank for your contribution! Overall this looks good! Just left a few nits and then I'll look for a second reviewer:)


/// Specifies if the [DropdownMenu] should show a [trailingIcon].
///
/// Defaults to true.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: we can move this line to the last line for consistency.

final ThemeData themeData = ThemeData();
await tester.pumpWidget(
MaterialApp(
theme: themeData,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: we can remove this line and line 4265 for simplicity:)

final ThemeData themeData = ThemeData();
await tester.pumpWidget(
MaterialApp(
theme: themeData,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: seems themeData is not used anywhere, so we can remove this line and line 4243

@mohamedamara mohamedamara force-pushed the fix_164908_add_option_to_hide_trailing_icon branch from fbbf744 to c4a81d1 Compare May 7, 2025 21:32
Copy link
Contributor

@QuncCccccc QuncCccccc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for your contribution:)

Copy link
Contributor

@MitchellGoodwin MitchellGoodwin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you for the PR!

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label May 7, 2025
@QuncCccccc
Copy link
Contributor

Not sure why Google testing hasn't been triggered. But this change looks safe to roll into g3.

@auto-submit auto-submit bot added this pull request to the merge queue May 7, 2025
Merged via the queue into flutter:master with commit 930d215 May 8, 2025
75 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 8, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 8, 2025
flutter/flutter@b0f5c8c...02d8c1a

2025-05-08 [email protected] iOS,macOS: Unify iOS,macOS build configs (flutter/flutter#168517)
2025-05-08 [email protected] Roll Packages from b2ce3b0 to ab44c26 (3 revisions) (flutter/flutter#168548)
2025-05-08 [email protected] Remove unnecessary setAriaRole('dialog') fallback in SemanticRoute class (flutter/flutter#168345)
2025-05-08 [email protected] Roll Skia from 4d617bb1bb7d to 43ae814d2d95 (1 revision) (flutter/flutter#168526)
2025-05-08 [email protected] Roll Fuchsia Linux SDK from _GJje-N2Jk51qtBs6... to mqhX1OP8ezmialgqA... (flutter/flutter#168525)
2025-05-08 [email protected] Make MergeSemantics be able to merge customAction (flutter/flutter#168414)
2025-05-08 [email protected] Roll Skia from d787c26f873a to 4d617bb1bb7d (1 revision) (flutter/flutter#168514)
2025-05-08 [email protected] Roll pub packages (flutter/flutter#168509)
2025-05-07 [email protected] Marks Mac_arm64_ios imitation_game_swiftui to be unflaky (flutter/flutter#163114)
2025-05-07 [email protected] Add option to hide trailing icon in DropdownMenu (flutter/flutter#167782)
2025-05-07 [email protected] Roll Skia from 1ea3ec8e7863 to d787c26f873a (6 revisions) (flutter/flutter#168505)
2025-05-07 [email protected] [web] drop more use of deprecated JS functions (flutter/flutter#166157)
2025-05-07 [email protected] docs: Fixed broken links in WidgetStateProperty documentations (flutter/flutter#168191)
2025-05-07 [email protected] Roll Skia from 14f3e3209b73 to 1ea3ec8e7863 (2 revisions) (flutter/flutter#168489)
2025-05-07 [email protected] Use `config: enable-swift-...: false`, remove `disable-swift-...: true`. (flutter/flutter#168433)
2025-05-07 [email protected] Replace MediaQuery.sizeOf with heightOf and widthOf. (flutter/flutter#168479)
2025-05-07 [email protected] Fix stencil buffer leak (flutter/flutter#168448)
2025-05-07 [email protected] Fix framebuffer leak rendering to secondary views. (flutter/flutter#168447)
2025-05-07 [email protected] Fix uninitalized fields in FlutterWindowMetricsEvent (flutter/flutter#168446)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@mohamedamara mohamedamara deleted the fix_164908_add_option_to_hide_trailing_icon branch May 11, 2025 17:51
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
…r#9230)

flutter/flutter@b0f5c8c...02d8c1a

2025-05-08 [email protected] iOS,macOS: Unify iOS,macOS build configs (flutter/flutter#168517)
2025-05-08 [email protected] Roll Packages from b2ce3b0 to ab44c26 (3 revisions) (flutter/flutter#168548)
2025-05-08 [email protected] Remove unnecessary setAriaRole('dialog') fallback in SemanticRoute class (flutter/flutter#168345)
2025-05-08 [email protected] Roll Skia from 4d617bb1bb7d to 43ae814d2d95 (1 revision) (flutter/flutter#168526)
2025-05-08 [email protected] Roll Fuchsia Linux SDK from _GJje-N2Jk51qtBs6... to mqhX1OP8ezmialgqA... (flutter/flutter#168525)
2025-05-08 [email protected] Make MergeSemantics be able to merge customAction (flutter/flutter#168414)
2025-05-08 [email protected] Roll Skia from d787c26f873a to 4d617bb1bb7d (1 revision) (flutter/flutter#168514)
2025-05-08 [email protected] Roll pub packages (flutter/flutter#168509)
2025-05-07 [email protected] Marks Mac_arm64_ios imitation_game_swiftui to be unflaky (flutter/flutter#163114)
2025-05-07 [email protected] Add option to hide trailing icon in DropdownMenu (flutter/flutter#167782)
2025-05-07 [email protected] Roll Skia from 1ea3ec8e7863 to d787c26f873a (6 revisions) (flutter/flutter#168505)
2025-05-07 [email protected] [web] drop more use of deprecated JS functions (flutter/flutter#166157)
2025-05-07 [email protected] docs: Fixed broken links in WidgetStateProperty documentations (flutter/flutter#168191)
2025-05-07 [email protected] Roll Skia from 14f3e3209b73 to 1ea3ec8e7863 (2 revisions) (flutter/flutter#168489)
2025-05-07 [email protected] Use `config: enable-swift-...: false`, remove `disable-swift-...: true`. (flutter/flutter#168433)
2025-05-07 [email protected] Replace MediaQuery.sizeOf with heightOf and widthOf. (flutter/flutter#168479)
2025-05-07 [email protected] Fix stencil buffer leak (flutter/flutter#168448)
2025-05-07 [email protected] Fix framebuffer leak rendering to secondary views. (flutter/flutter#168447)
2025-05-07 [email protected] Fix uninitalized fields in FlutterWindowMetricsEvent (flutter/flutter#168446)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…r#9230)

flutter/flutter@b0f5c8c...02d8c1a

2025-05-08 [email protected] iOS,macOS: Unify iOS,macOS build configs (flutter/flutter#168517)
2025-05-08 [email protected] Roll Packages from b2ce3b0 to ab44c26 (3 revisions) (flutter/flutter#168548)
2025-05-08 [email protected] Remove unnecessary setAriaRole('dialog') fallback in SemanticRoute class (flutter/flutter#168345)
2025-05-08 [email protected] Roll Skia from 4d617bb1bb7d to 43ae814d2d95 (1 revision) (flutter/flutter#168526)
2025-05-08 [email protected] Roll Fuchsia Linux SDK from _GJje-N2Jk51qtBs6... to mqhX1OP8ezmialgqA... (flutter/flutter#168525)
2025-05-08 [email protected] Make MergeSemantics be able to merge customAction (flutter/flutter#168414)
2025-05-08 [email protected] Roll Skia from d787c26f873a to 4d617bb1bb7d (1 revision) (flutter/flutter#168514)
2025-05-08 [email protected] Roll pub packages (flutter/flutter#168509)
2025-05-07 [email protected] Marks Mac_arm64_ios imitation_game_swiftui to be unflaky (flutter/flutter#163114)
2025-05-07 [email protected] Add option to hide trailing icon in DropdownMenu (flutter/flutter#167782)
2025-05-07 [email protected] Roll Skia from 1ea3ec8e7863 to d787c26f873a (6 revisions) (flutter/flutter#168505)
2025-05-07 [email protected] [web] drop more use of deprecated JS functions (flutter/flutter#166157)
2025-05-07 [email protected] docs: Fixed broken links in WidgetStateProperty documentations (flutter/flutter#168191)
2025-05-07 [email protected] Roll Skia from 14f3e3209b73 to 1ea3ec8e7863 (2 revisions) (flutter/flutter#168489)
2025-05-07 [email protected] Use `config: enable-swift-...: false`, remove `disable-swift-...: true`. (flutter/flutter#168433)
2025-05-07 [email protected] Replace MediaQuery.sizeOf with heightOf and widthOf. (flutter/flutter#168479)
2025-05-07 [email protected] Fix stencil buffer leak (flutter/flutter#168448)
2025-05-07 [email protected] Fix framebuffer leak rendering to secondary views. (flutter/flutter#168447)
2025-05-07 [email protected] Fix uninitalized fields in FlutterWindowMetricsEvent (flutter/flutter#168446)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DropdownMenu - optional leading and trailing icons

4 participants