Dart,聚合物 - 如何动态创建上下文敏感的下拉菜单

时间:2015-02-20 13:06:50

标签: drop-down-menu dart dart-polymer

我正在使用Dart和纸质元素。我正在显示一个表,根据我点击的单元格,我想要一个下拉菜单。菜单的位置应该是我单击的单元格的下一个/上/附近。菜单将包含在设计时未知的项目,具体取决于单击的单元格,并取决于用户数据。我认为创建一个<'模板>是不可能的。为了这个在HTML文件中,所以我需要完全动态地构建菜单(我想......?)。

所以,我想对这种方法提出一些建议,因为我现在正在攻击:不是最好的方法。

这是我最初的想法,这可能是完全糟糕的!

void makePopup(TableCellElement cell){
PaperDropdownMenu ddMenu= new PaperDropdownMenu();
List<String> allItems=getItems();
for (String item in allItems){
    PaperItem pitem=new PaperItem();
    pitem.innerHtml=item;
    ddMenu.children.add(pitem);
 }
 cell.children.add(ddMenu);//??
}

我应该将菜单作为孩子添加到细胞中(看起来不太好 - 行为不是很好 - 从我尝试过的)。或者我应该在节点树中添加它吗? (但是菜单的位置会很棘手。)我是否需要添加核心菜单?我也尝试过PaperMenuButton - 但这不允许儿童,也不能作为孩子加入细胞。

谢谢,史蒂夫

1 个答案:

答案 0 :(得分:2)

您可以使用一个共同的父Poylmer元素来保存数据并将您的单元格和下拉列表作为子项(或孙子项)。 然后,在激活另一个单元格时更新公共父元素中的数据。下拉列表仅绑定父元素中的此数据,并根据数据自行更新。 您可以使用绝对定位将下拉列表放置在活动单元格附近或上方。