Nate Wilson d9d3889987
[CP-stable] Revert "Fix DropdownMenu does not rematch initialSelection when entries have changed" (#161177)
This pull request reverts the changes in #155757.

The auto-formatter created conflicts in the master branch, so the revert was performed manually in #160643.
For this cherry-pick PR, I was able to run `git revert 21381d843f3feb32640ae385aedd8e5c4003696b` without any problems.

<br>

### Issue Links

bug reports: #160196, #160555
cherry-pick request: #161176

### Target

stable

### Changelog Description

Passing a list literal to a `DropdownMenu` causes the widget to reset to the `initialSelection` after each build.

### Impacted Users

This affects anyone using the [DropdownMenu](https://api.flutter.dev/flutter/material/DropdownMenu-class.html) widget.

### Impact Description

The impact usually consists of the text value being inconveniently reset each time the widget is rebuilt. (In some cases it can be a fatal crash: the code sample from #160196 shows how this change can lead to an infinite build loop.)

### Workaround

This regression can be mitigated by caching & modifying a single list instance, rather than using a list literal for the `DropdownMenu` constructor.

### Risk

low

### Test Coverage

yes

### Validation Steps

#160643 added a regression test for this revert.

The fix can also be verified by running the code sample from #160196 and verifying that there is no infinite build loop.
2025-01-09 00:11:56 +00:00
..
2024-08-07 18:32:37 +00:00