【发布时间】:2021-02-23 12:20:56
【问题描述】:
将我的项目连接到 Firestore 并创建集合、文档等后,当我尝试在索引 0 处打印产品名称时,这是我遇到的错误。
在构建 FutureBuilder(dirty, state: _FutureBuilderState#18c55) 时引发了以下 RangeError: RangeError(索引):无效值:有效值范围为空:0
I have read this similar question posted here but it does not solve my issue
以下是我的代码除外
class Home extends StatelessWidget {
Product menData;
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: _onBackPressed,
child: Scaffold(
body: SafeArea(
child: Padding(
padding: EdgeInsets.only(top: 10, left: 10, right: 10),
child: FutureBuilder(
future: FirebaseFirestore.instance.collection("products")
.doc("6di1OSBgwOjyLbPtl75g").collection("recent").get(),
builder: (context, snapshot) {
if(snapshot.connectionState == ConnectionState.waiting){
return Center(
child: spinkit,
);
}
menData = Product(
image: snapshot.data.documents[0]["image"],
name: snapshot.data.documents[0]["name"],
price: snapshot.data.documents[0]["price"],
);
print(menData.name);
这是模型
导入'package:flutter/material.dart';
class Product {
final String image;
final String name;
final double price;
Product({@required this.image, @required this.name, @required this.price});
}
【问题讨论】:
-
这能回答你的问题吗? Convert Firestore DocumentSnapshot to Map in Flutter查看最后一个答案
-
不,不是@JanHernandez
标签: flutter dart google-cloud-firestore