【发布时间】:2018-10-04 15:03:11
【问题描述】:
调整后更新
因此,在根据建议修改我的代码并使用图像的可见性并将日期推送到数组之后,我仍然没有看到单独标记的日期,我的新代码是:
property var arrayFromFirebase: []
onFirebaseReady: {
firebaseDb.getUserValue("dates", {
orderByChild: true
}, function(success, key, value) {
if(success) {
console.log(JSON.stringify(value))
for( date in value){arrayFromFirebase.push(date.date)}
}
})
}
Image {
visible: arrayFromFirebase.indexOf(styleData.date.getDate()) > -1
}
我的日志仍然以以下格式读取 arrayFromFirebase:
[{"date":"2018-10-01T21:17:00.926"},{"date":"2018-10-02T12:00:00.000"},{"date":"2018-10-03T12:00:00.000"},{"date":"2018-10-06T12:00:00.000"},{"date":"2018-10-07T12:00:00.000"},{"date":"2018-10-08T12:00:00.000"}]
原始问题
我有一个日历,我的用户保存了存储在 firebase 中的选定日期,我的日历是用链接中的示例构建的
我的用户日期存储到 firebase,当我阅读它们时,我可以使用 JSON.stringify 在日志中接收它们,
将保存的日期写入我的数据库时,我使用以下代码:
property var userData: {
"selectedDates": [
{ },
]
}
AppButton {
id: saveButton
text: "Save & Request"
anchors.right: parent.right
textColor: "#4e4e4e"
backgroundColor: "#d1d1d1"
onClicked: {
userData.selectedDates.push({ "date": calendar.selectedDate});
console.log(JSON.stringify(userData));
firebaseDb.setUserValue("dates", userData.selectedDates)
}
}
然后在阅读日期时,我使用以下内容:
FirebaseDatabase {
config: customConfig
onFirebaseReady: {
firebaseDb.getUserValue("dates", {
startAt: {
Key: "1/date",
}
}, function(success, key, value) {
if(success) {
console.log(JSON.stringify(value))
}
})
}
}
读取后,日志将显示如下日期:
[{"date":"2018-10-01T21:17:00.926"},{"date":"2018-10-02T12:00:00.000"},{"date":"2018-10-03T12:00:00.000"},{"date":"2018-10-06T12:00:00.000"},{"date":"2018-10-07T12:00:00.000"},{"date":"2018-10-08T12:00:00.000"}]
我想获取这串日期并在我的日历中添加标记以显示它们已被预订?
我该怎么做?
类型 FirebaseDatabase 记录在 here
日历 QML 代码
【问题讨论】:
-
为了改进您的问题,请提供一些代码。我不知道firebase,但我可能会帮助你处理QML。对我来说,知道你以哪种形式从火力库中读取数据会很有帮助——你如何在 QML 中拥有它。该代码还应显示您尝试解决此问题的一些尝试。
-
@derM 您好,感谢您的快速回复!我已经更新了原始帖子,包括我如何读取/写入我的 firebase 数据库的代码,这是否让您更好地了解我需要做什么?再次感谢!
-
您应该格式化从数据库收到的日期。然后你要么应该将字符串转换为
date类型。 (来自 Qt 文档:要创建日期值,请将其指定为“YYYY-MM-DD”字符串)或使用 JavascriptDate.parse()解析字符串 -
嗨@folibis 不幸的是,这是我苦苦挣扎的地方,把我的日期字符串格式化然后使用!抱歉,如果我的问题并不完全清楚,因为我试图做到这一点,即使在阅读文档并尝试几种变体时,它也会将我从 firebase 和格式中读取的“价值”添加到我的日历中!
-
我根本不了解 Firebase,但我使用过很多不同的数据库,而且它们都可以选择格式化输出。在使用不允许这样做的工具之前,我会三思而后行。
标签: firebase firebase-realtime-database calendar qml qtquick2