具有多个选项的纸质菜单,如何取消选择全部

时间:2016-03-22 11:13:14

标签: dart dart-polymer

我使用paper-menu进行多项选择(multi)。一切都很好,但是如果取消选择所有方法,事情就会变得更加复杂。

使用html

<paper-menu multi selected-values="{{selectedValues}}">...

达特

@property
List<String> selectedValues = [];...

事情已被绑定,每个iron-select / iron-deselect事件都会导致dart中selectedValues列表的正确更新。

使用clear('selectedValues')列表清空,逻辑行为就像没有选择一样,但在Dartium中,之前的项目是 选中的标记为已选中。

我还尝试使用selectedItems List或使用select方法取消选择fore PaperMenu,但仍未成功更新 在Dartium。

任何有想法如何实现这一点的人?

1 个答案:

答案 0 :(得分:0)

使用select方法找到问题的解决方法。具有所选值的菜单可以替换为使用Dom api创建的新类似元素。一个缺点是无法设置绑定,因此需要在元素处使用getset方法进行攻击。否则这似乎工作正常。对Dom api的调用如下所示。

ParticipantMenu oldPm = $$('#id_filterselection') as ParticipantMenu;
ParticipantMenu newPm = document.createElement('participant-menu');

Polymer.dom(parentNode).insertBefore(newPm, oldPm);
Polymer.dom(parentNode).removeChild(oldPm);
PolymerDom.flush();