tree bc9b00d6b88d636db66224a3e712737f17f2f904
parent b568f332e548921f4e5eefffa3c5996711e2ed60
author Kazbek Sultanov <kazbek.sultanov.doc@gmail.com> 1766512925 +0400
committer GitHub <noreply@github.com> 1766512925 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpStktCRC1aQ7uu5UhlAAA5GIQAIeceGMa4esCM5Q14CC8hJdK
 vJWLVWmIAIRXcYqO5cfE3Jf+s2xUWGNvoZQHS3NwuBXKNKpCkvVkEBxCt0gYLM6/
 ARajyxlfC1JZrcoSQ3t2SEYKFfxarF0V8gMqHejmDG4g9rVsoNj2uP5wg/GP+QD8
 zyV9mtaKxn0cwryta07GfbfNcKHPQMzkiHDijefo7dH3KiU/BB3aZ7gb8GhZXabX
 IycKtkw4vuuECCPDMI9I/3T4OvGeeL07ayHfpMxeXA8E6vvTZhNJ1iCE8yYDg9h2
 FTHV5Yt3rKTQX61XE8WM+Zq9id6bnd1DpFidpxWgeL6Z+LIs8n820uUC5jHxFb5Y
 JLYMC/Av1ecMkblM4Yzu70v5s277OFiVJ6+x1VkrR7bX/YsDz1QCfIwlGeYAeC93
 lF0E4wig0YIWnxsEi5rRUJSxHu+L7TBZZV7KRx5BjgF+Pjhbmv2cdMADfBscuhhp
 jOICYiI0Hphp1YFW+L2EXP+URg5GrQA4l2mzejNK7oTw43H24QsE/MpgwWNzEwnJ
 Fy8+CY7hXef02UX0j10s9/jm+01RbF7rrcq34VdUndWKijoaO4R2rR5CiwIeLw9u
 byyeesqn/RUBG3HrrDHqc5lpyD5nqcgL85uljRyBilJWlLTzIDIZd/U+VcOHltcP
 fPIwa9Utvi+TxDzOejZX
 =ORBm
 -----END PGP SIGNATURE-----
 

docs: clarify dropdown menu text clearing (#179676)

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

The documentation for `DropdownMenu`'s `controller` and
`initialSelection` properties has been updated. It now explicitly states
that clearing the text field requires using a `TextEditingController`'s
`clear()` method, and that setting `initialSelection` to null will not
clear the text. A code snippet demonstrating how to clear the text field
has also been added.

Fix for: #177599 


## 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].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>