-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
c: regressionIt was better in the past than it is nowIt was better in the past than it is nowcp: reviewCherry-picks in the review queueCherry-picks in the review queuef: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.
Description
Issue Links
Target
stable
Cherry pick PR Link
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 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.
Metadata
Metadata
Assignees
Labels
c: regressionIt was better in the past than it is nowIt was better in the past than it is nowcp: reviewCherry-picks in the review queueCherry-picks in the review queuef: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.