Index: sky/sdk/lib/widgets/popup_menu.dart |
diff --git a/sky/sdk/lib/widgets/popup_menu.dart b/sky/sdk/lib/widgets/popup_menu.dart |
index bdb45f558cddf9eb0bb5aa524bece8e03af230f7..8cb13d30c54dbedc7edf61d24ccfb25f7bbd24ff 100644 |
--- a/sky/sdk/lib/widgets/popup_menu.dart |
+++ b/sky/sdk/lib/widgets/popup_menu.dart |
@@ -54,7 +54,7 @@ class PopupMenuController { |
class PopupMenu extends AnimatedComponent { |
- PopupMenu({ Object key, this.controller, this.items, this.level }) |
+ PopupMenu({ String key, this.controller, this.items, this.level }) |
: super(key: key) { |
_painter = new BoxPainter(new BoxDecoration( |
backgroundColor: Grey[50], |
@@ -94,7 +94,10 @@ class PopupMenu extends AnimatedComponent { |
int i = 0; |
List<UINode> children = new List.from(items.map((List<UINode> item) { |
double opacity = _opacityFor(i); |
- return new PopupMenuItem(key: i++, children: item, opacity: opacity); |
+ // TODO(abarth): Using |i| for the key here seems wrong. |
+ return new PopupMenuItem(key: (i++).toString(), |
+ children: item |
+ opacity: opacity); |
})); |
return new Opacity( |