Я хочу заполнить listView
событий в текущем selectedDate
календаре данными из массива (calendarListModel
)
Когда в календаре выбрана новая дата, янеобходимо обновить список, очистить и оставить его пустым, если в новую выбранную дату не существует событий, или заменить listView новыми делегатами, соответствующими вновь выбранной дате.
Мой массив создан из чтения из базы данных firebase,который работает как задумано.Примером моего массива может быть:
calendarListModel: [
{"date":2019-02-12,"name":"user1"},
{"date":2019-02-13","name":"user1"},
{"date":2019-02-12,"name":"user2"}
]
Если я задам свою модель как calendarListModel
В моем списке отображаются все записи базы данных независимо от даты на listView
.
Я пыталсятакие вещи, как;
model: calendarListView.date(calendar.selectedDate
, также использующие циклы для доступа к данным, с которыми я не добился успеха, и совсем недавно следующий пример:
function updateEvents() {
var eventModel = calendarListModel.find(
function(obj){
return obj.date === calendar.selectedDate.getDate(),
console.log(JSON.stringify(obj));
}
);
if (eventModel === undefined)
return eventListModel.length = [];
return eventListModel.push(eventModel)
}
Calendar {
id: calendar
selectedDate: new Date()
onSelectedDateChanged: {
const day = selectedDate.getDate();
const month = selectedDate.getMonth() + 1;
const year = selectedDate.getFullYear();
updateEvents()
}
}
ListView {
id:eventListView
model: eventListModel
}
Мой консольный журнал из JSON.stringify(obj)
, кажется, разделяет мой массив на отдельные объекты, при этом журналы показывают:
{"date":1549972800000,"name":"user1"}
{"date":1550059200000,"name":"user1"}
{"date":1549972800000,"name":"user2"}
, но при этом eventListView
и eventModel
остаютсяпустой?
Что я могу сделать, чтобы исправить это или в каком направлении мне нужно работать?