我无法写到firestore
。我认为这可能与更新pubspec.yaml
中的软件包有关,但我不确定。我写给firestore
void onSendMessage(String content, int type) {
// type: 0 = text, 1 = image, 2 = sticker
if (content.trim() != '') {
textEditingController.clear();
var documentReference = Firestore.instance
.collection('messages')
.document(groupChatId)
.collection(groupChatId)
.document(DateTime.now().millisecondsSinceEpoch.toString());
print(groupChatId);
Firestore.instance.runTransaction((transaction) async {
await transaction.set(
documentReference,
{
'idFrom': id,
'idTo': peerId,
'timestamp': DateTime.now().millisecondsSinceEpoch.toString(),
'content': content,
'type': type
},
);
});
listScrollController.animateTo(0.0, duration: Duration(milliseconds: 300), curve: Curves.easeOut);
} else {
Fluttertoast.showToast(msg: 'Nothing to send');
}
}
我已经检查了runTransaction
函数中的所有字段,它们都包含了它们应该包含的值。在我看来,问题在于set
方法由于某种原因未将数据写入firestore
。
onSendMessage在我的代码中被调用
Material(
child: new Container(
margin: new EdgeInsets.symmetric(horizontal: 8.0),
child: new IconButton(
icon: new Icon(Icons.send),
onPressed: () => onSendMessage(textEditingController.text, 0),
color: Theme.of(context).primaryColor,
),
),
color: Colors.white,
),
基本上我想从文本字段中获取文本并将其发送到firestore
版本0.12.0
的firestore有重大更改,但我认为这不会影响我的代码。也没有任何错误日志
我将如何检查我是否有Firestore实例,我认为这可能是问题的根源