Polymer 2.x + Firebase: как поменять порядок следования железных листов?
Я хочу отобразить мои данные в обратном хронологическом порядке того, как / когда они были введены. Другими словами, я хочу, чтобы самые последние записи отображались вверху.
Я использую Polymerfire <firebase-query>
получить данные из моего приложения Firebase/Polymer, и я использую <iron-list>
для отображения данных. В настоящее время список содержит самые последние записи внизу списка.
Я ожидаю, что изменение порядка в любом <firebase-query>
или же <iron-list>
должно привести к желаемому поведению. Я предпочитаю сделать это без использования items.reverse()
метод. Существуют ли какие-либо свойства или методы, свойственныеiron-list
или Polymerfire для достижения желаемого поведения?
<firebase-query
id="query"
app-name="notes"
path="/notes/[[uid]]"
data="{{items}}">
</firebase-query>
<iron-list items="[[items]]">
<template>
<div>
[[item.name]]
</div>
</template>
</iron-list>
<script>
Polymer({
properties: {
uid: String,
items: {
type: Object,
observer: 'itemsChanged'
}
},
itemsChanged: function (newItems, oldItems) {
// do something when the query returns values
}
});
</script>
1 ответ
Насколько я знаю (и мог бы быстро проверить в исходном коде PolymerFire для его query
компонент) нет ничего встроенного в библиотеку для обращения элементов из базы данных.
Оставшаяся опция - добавить дополнительное свойство к узлам вашей базы данных с инвертированным значением свойства, по которому вы хотите отсортировать. Так что в вашем случае это может быть инвертированная метка времени: -1 * Date.now()
, Если вы затем сортируете это инвертированное значение, результаты будут отображаться в порядке убывания исходной отметки времени.