Ich versuche, ein Array von Objekten in alphabetischer Reihenfolge zu sortieren. Doch irgendwie das vaadin-combo-box
Polymerelement zeigt nur das erste Element in dem Array nach einer Art (auch wenn es mehr Elemente im Array sind)Vaadin-Combo-Box Sortierung
Ich erhalte meine Daten aus Firebase (genannt settingsData
) so habe ich einen Spleißstellen Beobachter verwenden, um zu sehen, ob die Daten hinzugefügt werden, oder entfernen:
Observer
observers: [
'sortData(settingsData.splices)'
],
sortData: function(newD, oldD) {
if(newD) {
var tmp = this.settingsData.sort(function(a,b) {return (a.name.toUpperCase() > b.name.toUpperCase()) ? 1 : ((b.name.toUpperCase() > a.name.toUpperCase()) ? -1 : 0);});
//tmp is an array in the correct order
this.set("filteredItems", tmp);
}
}
HTML
<vaadin-combo-box id="picker" label="[[label]]" items="[[filteredItems]]" item-label-path="name" item-value-path="name" value="{{valueText}}" on-value-changed="valueChanged"></vaadin-combo-box>
Dies ist eigentlich eine Polymer Best-Practice; Es zwingt das DOM zu aktualisieren. :) –