sal*_*a.m 3 json dart flutter google-cloud-firestore
我正在尝试以下操作:
StreamBuilder(
stream: user
.where('Phone Number',
isEqualTo: widget.user['ID'])
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Text("Loading");
}
var profile= snapshot.data;
return Padding(
padding: const EdgeInsets.only(left: 15),
child: Text(
"${profile["Gender"]}.",
),
);
}),
Run Code Online (Sandbox Code Playgroud)
类 _JsonQuerySnapshot 没有实例方法“[]”。接收者:“_JsonQuerySnapshot”的实例尝试调用:[](“性别”)
我该如何修复这个错误?
函数 .snapshots() 应返回 QuerySnapshot。尝试访问 snapshot.data.docs,您应该得到一个列表,然后您可以使用 doc.data() 访问每个 QueryDocumentSnapshot 数据。
它看起来像这样:
StreamBuilder(
stream: user
.where('Phone Number',
isEqualTo: widget.user['ID'])
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Text("Loading");
}
// snapshot.data is QuerySnapshot than I access .docs to get List<QueryDocumentSnapshot>
var docs = snapshot.data.docs;
// Accessing single QueryDocumentSnapshot and then using .data() getting its map.
final user = docs[0].data()!;
return Padding(
padding: const EdgeInsets.only(left: 15),
child: Text(
"${user["Gender"]}.",
),
);
}),
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,请告诉我,我会更新答案!:)
归档时间: |
|
查看次数: |
7338 次 |
最近记录: |