【发布时间】:2021-09-27 21:51:21
【问题描述】:
所以,我正在尝试构建一个小型应用程序,它可以向您显示您已添加到列表中的书籍。我试图从我的 Firebase 中读取数据并将其显示在主页上,但我得到了这篇文章标题中的错误。
(不过,我可以轻松地将信息添加到数据库中)
这是我的代码:
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('items').snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
if(!snapshot.hasData) return Text('No data');
return ListView.builder(
itemCount: snapshot.data!.docs.length,
itemBuilder: (BuildContext context, int index){
return Container(
key: Key(snapshot.data!.docs[index].id),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
),
child: Container(
padding: EdgeInsets.fromLTRB(20, 25, 0, 0),
child: Row(
children: [
Container(
width: 120,
height: 160,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
image: DecorationImage(
image: NetworkImage(snapshot.data!.docs[index].get('url')),
),
),
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(snapshot.data!.docs[index].get('name'), style: TextStyle(
fontSize: 16,
fontFamily: "Avenir",
fontWeight: FontWeight.bold,
),),
Text(snapshot.data!.docs[index].get('author')),
Row(
children: [
Icon(Icons.star, size: 24, color: Colors.orangeAccent,),
Text(snapshot.data!.doc[index].get('rating')),
],
),
Text(snapshot.data!.docs[index].get('category')),
],
),
),
],
),
),
),
);
},
);
},
),
【问题讨论】:
-
我得到一个错误“运算符'[]'不是为类型'Object?Function()'定义的
-
将 snapshot.data!.docs[index].get('url') 更改为 snapshot.data!.docs[index].data()['url'] 和所有字段相同
-
请不要破坏您的问题。一旦您在本网站上提出问题,根据您在加入本网站时同意的服务条款,您的问题及其代码将成为本网站的财产。
标签: database firebase flutter dart