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 8cb13d30c54dbedc7edf61d24ccfb25f7bbd24ff..27a22bc7988cac9513f553c62abe24de3305294b 100644 |
--- a/sky/sdk/lib/widgets/popup_menu.dart |
+++ b/sky/sdk/lib/widgets/popup_menu.dart |
@@ -67,7 +67,7 @@ class PopupMenu extends AnimatedComponent { |
} |
PopupMenuController controller; |
- List<List<UINode>> items; |
+ List<UINode> items; |
int level; |
void syncFields(PopupMenu source) { |
@@ -92,11 +92,10 @@ class PopupMenu extends AnimatedComponent { |
UINode build() { |
int i = 0; |
- List<UINode> children = new List.from(items.map((List<UINode> item) { |
+ List<UINode> children = new List.from(items.map((UINode item) { |
double opacity = _opacityFor(i); |
- // TODO(abarth): Using |i| for the key here seems wrong. |
- return new PopupMenuItem(key: (i++).toString(), |
- children: item |
+ return new PopupMenuItem(key: '${key}-${item.key}', |
+ child: item, |
opacity: opacity); |
})); |