私はアルファベット順にオブジェクトの配列をソートしようとしています。しかし、何とかvaadin-combo-box
ポリマー要素はVaadinコンボボックスのソート
私はから私のデータを取得しています(配列のより多くの項目があるにもかかわらず)、ソート後の配列の最初の項目を示していFirebase(settingsData
と呼ばれる)ので、私は、データが追加されているかどうか、削除するスプライスオブザーバを使用する必要があります。
オブザーバー
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>
これは実際にはポリマーのベストプラクティスです。 DOMを強制的に更新します。 :) –