【发布时间】:2019-06-24 21:31:47
【问题描述】:
我正在从 Firestore 流式传输文档快照,但是当数据库中没有任何内容时,snapshot.hasData 返回 true。这会导致我的代码在尝试从快照中检索值时失败。
我该如何解决这个问题?
我尝试打印出快照。数据刚刚得到一个 Documentsnapshot 实例。也想过给流提供初始数据,但是不知道怎么提供一个空的DocumentSnapshot数据类型。
如果我手动将记录插入到 Firestore,它可以正常工作。
StreamBuilder<DocumentSnapshot>(
stream: Firestore.instance.collection('UserDetails').document(widget.uid).snapshots(),
builder: (context, snapshot){
if(snapshot.hasError){
widget._err = snapshot.error;
} else if (snapshot.connectionState == ConnectionState.waiting){
widget._loadingUserInfo = true;
} else if (snapshot.hasData){
nameController.text = snapshot.data['name'];
ageController.text = snapshot.data['age'];
introController.text = snapshot.data['intro'];
widget._loadingUserInfo = false;
}
)
如果存在值或用户存在,我正在尝试从 Firestore 获取用户值以填充他们的表单。
现在它只是失败了。
【问题讨论】:
-
你没有返回任何东西给
builder: (context, snapshot)? -
这里没有显示返回,这是一个很长的小部件。但我认为这不会影响任何事情:/
标签: firebase stream flutter google-cloud-firestore