PJQ*_*Jag 2 flutter google-cloud-firestore
我正在尝试从Firestore数据库中的给定文档返回评论和文章字段。我利用将来的构建器通过ListTile返回此数据。
当我运行它时,在成功成功显示平铺之前,屏幕短暂变为红色,并呈现以下错误。错误是:构建函数返回null。有问题的小部件是:FutureBuilder构建函数绝不能返回null。要返回使建筑物小部件填充可用空间的空白空间,请返回“ new Container()”。要返回占用尽可能少空间的空白空间,请返回“ new Container(width:0.0,height:0.0)”。
这是我的代码:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class PostGetter extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
body: new Container(
child: new FutureBuilder(
future: Firestore.instance
.collection('post')
.where('article', isEqualTo: 'lpquVtoRNsu0vBLjNByS')
.getDocuments(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
if (snapshot.data != null) {
return new Column(
children: <Widget>[
new Expanded(
child: new ListView(
children: snapshot.data.documents
.map<Widget>((DocumentSnapshot document) {
return new ListTile(
title: new Text(document['comment']),
subtitle: new Text(document['author']),
);
}).toList(),
),
),
],
);
} else {
return new CircularProgressIndicator();
}
}
}),),
);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么循环进度指示器不能满足返回小部件的需要?
谢谢您的帮助。
尝试这个:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class PostGetter extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
body: new Container(
child: new FutureBuilder(
future: Firestore.instance
.collection('post')
.where('article', isEqualTo: 'lpquVtoRNsu0vBLjNByS')
.getDocuments(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
if (snapshot.data != null) {
return new Column(
children: <Widget>[
new Expanded(
child: new ListView(
children: snapshot.data.documents
.map<Widget>((DocumentSnapshot document) {
return new ListTile(
title: new Text(document['comment']),
subtitle: new Text(document['author']),
);
}).toList(),
),
),
],
);
}
}else {
return new CircularProgressIndicator();
}
}),),
);
}
}
Run Code Online (Sandbox Code Playgroud)
否则应该在快照上。hasdata不在快照上。data!= null
| 归档时间: |
|
| 查看次数: |
3222 次 |
| 最近记录: |