Flatter Firebase失败断言:第360行位置10:';数据!=空'; Widget博客列表(){ 返回容器( 颜色:UniversalVariables.blackColor, 子:blogsStream!=null ?立柱( mainAxisAlignment:mainAxisAlignment.center, crossAxisAlignment:crossAxisAlignment.center, 儿童:[ StreamBuilder( 流:blogsStream, 生成器:(上下文,快照){ 如果(!snapshot.hasData | | snapshot.data.documents.isEmpty); 返回ListView.builder( 填充:边缘组。对称(水平:16), itemCount:snapshot.data.documents.length, 收缩膜:对, itemBuilder:(上下文,索引){ 返回博客栏( authorName:快照 .data.documents[index].data['authorName'], 标题:快照.数据.文档[索引].数据[“标题”], 说明: snapshot.data.documents[index].data['desc'], 伊姆古尔: snapshot.data.documents[index].data['imgUrl'], ); }); }, ) ], ) :容器( 对齐:对齐.center, 子对象:CircularProgressIndicator(), ), ); }
我想强制执行。我想解决这个问题。我正在用Firebase提取数据。在页面之间切换时遇到问题,但无法解决错误。发生的错误在您的生成器中,您返回了Flatter Firebase失败断言:第360行位置10:';数据!=空'; Widget博客列表(){ 返回容器( 颜色:UniversalVariables.blackColor, 子:blogsStream!=null ?立柱( mainAxisAlignment:mainAxisAlignment.center, crossAxisAlignment:crossAxisAlignment.center, 儿童:[ StreamBuilder( 流:blogsStream, 生成器:(上下文,快照){ 如果(!snapshot.hasData | | snapshot.data.documents.isEmpty); 返回ListView.builder( 填充:边缘组。对称(水平:16), itemCount:snapshot.data.documents.length, 收缩膜:对, itemBuilder:(上下文,索引){ 返回博客栏( authorName:快照 .data.documents[index].data['authorName'], 标题:快照.数据.文档[索引].数据[“标题”], 说明: snapshot.data.documents[index].data['desc'], 伊姆古尔: snapshot.data.documents[index].data['imgUrl'], ); }); }, ) ], ) :容器( 对齐:对齐.center, 子对象:CircularProgressIndicator(), ), ); },firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我想强制执行。我想解决这个问题。我正在用Firebase提取数据。在页面之间切换时遇到问题,但无法解决错误。发生的错误在您的生成器中,您返回了ListView,无论snapshot.hasData是否为真 试一试 错误发生在构建器中,您返回了ListView,无论snapshot.hasData是否为真 试一试 Widget BlogsList() { return Container( color: UniversalVariables.blackColor, child: blogs
ListView
,无论snapshot.hasData
是否为真
试一试
错误发生在构建器中,您返回了
ListView
,无论snapshot.hasData
是否为真
试一试
Widget BlogsList() {
return Container(
color: UniversalVariables.blackColor,
child: blogsStream != null
? Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
StreamBuilder(
stream: blogsStream,
builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.data.documents.isEmpty) ;
return ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 16),
itemCount: snapshot.data.documents.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return BlogsTile(
authorName: snapshot
.data.documents[index].data['authorName'],
title: snapshot.data.documents[index].data["title"],
description:
snapshot.data.documents[index].data['desc'],
imgUrl:
snapshot.data.documents[index].data['imgUrl'],
);
});
},
)
],
)
: Container(
alignment: Alignment.center,
child: CircularProgressIndicator(),
),
); }
builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.data.documents.isEmpty){
return Center(child: Text("Loadin..."));
}
return ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 16),
itemCount: snapshot.data.documents.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return BlogsTile(
authorName: snapshot.data.documents[index].data['authorName'],
title: snapshot.data.documents[index].data["title"],
description:snapshot.data.documents[index].data['desc'],
imgUrl:snapshot.data.documents[index].data['imgUrl'],
);
});
},