【发布时间】:2021-12-23 19:55:59
【问题描述】:
我正在尝试将列表数据保存到 GetX 存储中,即来自我应用程序中的 firestore。
但不知何故,它没有按预期执行。每次我收到错误提示:未处理的异常:将对象转换为可编码对象失败:'DocumentData'的实例
下面,列出我创建的变量:
RxList<DocumentData> todoList = <DocumentData>[].obs;
下面是我试图在 GetX Storage 中写入值的函数。
//Function to get the all todos from firestore
getAllTodosFromFirestore() async {
await todos.where('uid', isEqualTo: uid).get().then((value) {
Get.find<TodoController>().todoList.value = value.docs.map((e) => DocumentData.fromJson(e.data() as Map<String,dynamic>)).toList();
GetStoragePref.instance.writeValues('todos_list',Get.find<TodoController>().todoList);
});
return Get.find<TodoController>().todoList;
}
下面是我的 DocumentData 模型类。
class DocumentData {
DocumentData({
required this.uid,
required this.timer,
required this.itemName,
required this.isSelectedItem,
});
String uid;
Timestamp timer;
String itemName;
bool isSelectedItem;
factory DocumentData.fromJson(Map<String, dynamic> json) => DocumentData(
uid: json["uid"],
timer: json["timer"],
itemName: json["itemName"],
isSelectedItem: json["isSelectedItem"],
);
Map<String, dynamic> toJson() => {
"uid": uid,
"timer": timer,
"itemName": itemName,
"isSelectedItem": isSelectedItem,
};
}
谁能帮我解决这个问题?
【问题讨论】:
标签: flutter dart flutter-getx