From 20a8e583cfe35e09253ea6833ee14aec2c0ecc29 Mon Sep 17 00:00:00 2001 From: Huy Date: Tue, 28 Oct 2025 06:05:15 +0700 Subject: [PATCH] Enhance DropdownMenuEntry's labelWidget docs (#177160) - Resolve https://github.com/flutter/flutter/issues/166999 - This PR is to improve DropdownMenuEntry.labelWidget documentation, which helps to clarify how `labelWidget` is rendered on the dropdown, and advises user to pass values to parameters for their needs, see more details at https://github.com/flutter/flutter/issues/166999#issuecomment-3270216328 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] 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]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Signed-off-by: huycozy --- packages/flutter/lib/src/material/dropdown_menu.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/flutter/lib/src/material/dropdown_menu.dart b/packages/flutter/lib/src/material/dropdown_menu.dart index ddaebc0d4f3..19e1a03af61 100644 --- a/packages/flutter/lib/src/material/dropdown_menu.dart +++ b/packages/flutter/lib/src/material/dropdown_menu.dart @@ -89,6 +89,18 @@ class DropdownMenuEntry { /// Overrides the default label widget which is `Text(label)`. /// + /// This widget is only displayed in the open dropdown menu. When an item is + /// selected, the menu closes and the text field displays the plain text of + /// the [label]. + /// + /// The dropdown menu's closed state is a text field or a read-only text field + /// on mobile, which can only display text. + /// While custom widgets like icons or images can be shown in [labelWidget] + /// when the menu is open, the text field will only show the [label] string upon selection. + /// + /// To control the text that appears in the text field for a selected item, + /// set the [label] property to a descriptive string. + /// /// {@tool dartpad} /// This sample shows how to override the default label [Text] /// widget with one that forces the menu entry to appear on one line