我有以下空文档:
据我了解,该文档存在,但为空。 我正在向用户显示所有文档ID的列表,然后允许他选择要显示其数据的文档。 当用户选择此空文档时,会出现错误,因为我在列表视图中对空对象调用了length。这还算公平。 我想向用户显示一个警报对话框,通知他它为空。
child: FutureBuilder(
future: snapshot,
builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Center(child: CircularProgressIndicator());
default:
if (snapshot.hasData) {
if(snapshot.data.data.length == 0) {
return AlertDialog(
content: Text('Wrong Date', textAlign: TextAlign.center, style: TextStyle(color: Colors.black)),
backgroundColor: Colors.redAccent,
actions: [Icon(Icons.keyboard_backspace)],
);
}
这就是我现在要处理的。只是检查文档的长度。 在我看来,这不合适。
还有其他方法吗?
答案 0 :(得分:1)
看看DocumentSnapshot的API,data()方法将返回Map个字段。如果您想知道是否没有字段,只需问一下地图length是否为0。
snapshot.data().length == 0