如何检查文件是否为空

时间:2020-06-29 03:33:48

标签: firebase flutter google-cloud-firestore

我有以下空文档:

enter image description here

据我了解,该文档存在,但为空。 我正在向用户显示所有文档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)],
                      );
                  }

这就是我现在要处理的。只是检查文档的长度。 在我看来,这不合适。

还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

看看DocumentSnapshot的API,data()方法将返回Map个字段。如果您想知道是否没有字段,只需问一下地图length是否为0。

snapshot.data().length == 0