我的列表为
class MyContact {
String userName = "";
List<Phone> phones = List<Phone>();
MyContact({this.userName, this.phones});
}
class Phone {
String phone = "";
Phone({this.phone});
}
及更新方法
_updateContact() async {
var contacts = (await ContactsService.getContacts()).toList();
List<MyContact> myContacts = List<MyContact>();
contacts.forEach((contact) {
var myContact = MyContact();
myContact.userName = contact.displayName;
contact.phones.forEach((phone) {
myContact.phones.add(Phone(phone: phone.value));
});
myContacts.add(myContact);
});
await Firestore.instance
.collection("contacts")
.document()
.setData(????);
}
请帮助我!
最佳答案
我已解决如下
class MyContact {
String userName = "";
List<Phone> phones = List<Phone>();
MyContact({this.userName, this.phones});
Map<String, dynamic> toJson() {
return {
"name": userName,
"phones": phones.map((phone) => phone.toJson()).toList(),
};
}
}
class Phone {
String phone = "";
Phone({this.phone});
Map<String, dynamic> toJson() {
return {
"phone": phone,
};
}
}
方法更新
_updateContact() async {
var contacts = (await ContactsService.getContacts()).toList();
List<MyContact> myContacts = List<MyContact>();
contacts.forEach((contact) {
List<Phone> phones = List<Phone>();
contact.phones.forEach((phone) {
phones.add(Phone(phone: phone.value));
});
myContacts.add(MyContact(userName: contact.displayName, phones: phones));
});
Map<String, dynamic> map = {
'contact': myContacts.map((myContact) => myContact.toJson()).toList()
};
await Firestore.instance
.collection("contacts")
.document()
.setData(map);
}
关于android - 如何在flutter中将列表对象发布到cloud firestore firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58761308/