【发布时间】:2019-02-22 02:05:26
【问题描述】:
我希望使用数组中的数据(calendarListModel)在日历的当前 selectedDate 上填充 listView 的事件
当从日历中选择新日期时,如果在新选择的日期不存在任何事件,我需要更新列表,清除并保持空白,或者用与新选择的日期匹配的新代表替换 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 保持空白?
我能做些什么来纠正这个问题或我需要朝什么方向努力?
【问题讨论】:
标签: javascript arrays listview qml v-play