【发布时间】:2019-03-21 16:47:11
【问题描述】:
我正在尝试从 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();
}
}
}),),
);
}
}
为什么循环进度指示器不能满足返回小部件的需要?
感谢您的帮助。
【问题讨论】:
标签: flutter google-cloud-firestore