2016-03-22 3 views
1

Ich verwende paper-menu mit Mehrfachauswahl (multi). Alles funktioniert gut, aber mit einer Auswahl aller Methoden scheint die Sache komplizierter.Papiermenü mit Mehrfachauswahl, Abwahl aller

Mit html

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

Dart

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

Dinge wurden binded, und alle iron-select/iron-deselect Ereignis eine korrekte Aktualisierung der selectedValues Liste in Dart.

Mit clear('selectedValues') die Liste leer und die Logik verhält sich wie keine Auswahl erfolgt, aber in Dartium die Elemente, die zuvor gewählt wurde bleibt als ausgewählt markiert.

Ich habe auch mit den selectedItems List oder mit dem foreach abzuwählen mit der select Methode PaperMenu versucht, aber immer noch nicht erfolgreich Update in Dartium.

Wer mit Ideen, wie dies zu implementieren?

+1

Wählen Sie mit tippen Sie auf Dartium und deaktivieren Sie mit "Select" -Methode, scheint nicht zusammen zu arbeiten. Schrieb ein Problem auf diesem https://github.com/dart-lang/polymer-dart/issues/691 –

Antwort

0

Eine Problemumgehung für das Problem mit der Select-Methode gefunden. Das Menü mit ausgewählten Werten kann durch ein neues ähnliches Element ersetzt werden, das mit der Dom api erstellt wurde. Ein Nachteil ist, dass die Bindungen nicht eingerichtet werden können, so dass diese mit den Methoden get und set am Element gehackt werden müssen. Ansonsten scheint das in Ordnung zu sein. Die Anrufe bei der Dom api sind unten aufgeführt.

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();