tree ffe07d960166cc1eb22b5187eb8ce90f8b053911
parent 10c7a7baee6e8f383171a72bf1af3dffa9ae8d98
author Huy <huy@nevercode.io> 1761606315 +0700
committer GitHub <noreply@github.com> 1761606315 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJo//q8CRC1aQ7uu5UhlAAAg8IQADz6PwAvcfp0yU5r5XkoTwmz
 cld+FXDgwBdCppgYEHXBkbDiZxjMS/KpL0x4HJ5zJ5pwOuEXlRs3UPYwcoENl80Q
 5AAx19dsWDkzoyEJnJzwhpAmFFEWctwwz+rXFMXhrW5x7ZzTbuxyMSIE+t5FwxXi
 VeMu5/9JB8hQwPoPoQmycy5v+PQJyQMsxfnesbMW4FElniGe8hCln2Sx9AABhAqp
 yb3WWfra2UUgVTWo62hBe/7dJBIRoPo5AAgytMIurBrMkWu5aSuGz9FK+BsSecPK
 i9GPG4ioaK9E87SqRcpHUE8G7JlCM1XhWTjvfzabb3bWFJDB7JlLIyZKDEuTCcwE
 fJ+7CDRBw+fVZPuyCnryyaSWDGdCvi+0tfDxFijzCP8/3Jm5gXqTBjQXib5lPe5N
 H10CaKDEK/DQdw1j7lzGygu7Q5ujnB0zl5Qy707Las/mYKFIZL0/bhukRmigxN7d
 3cV9hyvMNj6DcXVScBJJHOuDrcHKfmz2iPXj0szcQQloDHV+sKSC3fhkZWA+v+2a
 m2MKkW6SMaoqjBiChuMxs9ns4mtjSCeQ4bABudMevP+8XceMSQPdRmnnBZdnRRB1
 gWdNKro5IYntUfQPdEvOEYOXrOLLHUp9mdR1CqWKiqCgmc8aS+jDOdjAeN6M/W0d
 Em6+JwyCnrhDI/16Gz99
 =Hacq
 -----END PGP SIGNATURE-----
 

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.

<!-- Links -->
[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 <huy@nevercode.io>