list - 如果 Flutter 中的网格列表为空,则插入一个 Text()

标签 list flutter grid future

我正在开发一个 Flutter 应用程序,在我的 Main route ,我有一个 Grid List,其中填充了 DB 检索到的元素。 当 Grid 为空时,我想布局一个 Text() 消息,或类似的东西, 永久。 我用

填充我的列表
list() {
   return Container(
      child: FutureBuilder(
        future: pets,
        builder: (context, snapshot) {
          if (!snapshot.hasData || snapshot.data == null) {
            return emptyGrid();
          }
          else
          return imageGrid(snapshot.data);
        },
      ),
    );
  }

emptyGrid 在哪里

Container emptyGrid() {
    return Container(
      child: Center(
        child: Column(
          children: <Widget>[
            Text("No Data Found")
          ],
        ),
      ),
    );
  }

问题是,emptyGrid 布局正确,但之后立即消失。

最佳答案

您需要修改您的 list() 如下:

您需要检查列表长度是否为零。

list() {
  return Container(
    child: FutureBuilder(
      future: pets,
      builder: (context, snapshot) {
        if (!snapshot.hasData || snapshot.data == null) {
          return Text('Loading.....');
        } else if (snapshot.data.length == 0) {
          return emptyGrid();
        } else {
          return imageGrid(snapshot.data);
        }
      },
    ),
  );
}

关于list - 如果 Flutter 中的网格列表为空,则插入一个 Text(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252998/

相关文章:

CSS 80 的 TRON 网格

css - Wordpress:网格布局 - 框 slider

java - 如何使用 SPARQL 查询 RDF 三元组列表?

C++ 列表插入迭代器

android - Flutter pubspec.yaml 安卓版本代码

firebase - getter 'image' 在 null 上被调用

search - Flutter Firestore Query Listen - 无法引用 Listen 中的变量

python - 用同一个键合并两个字典

java - 您可以实现并重写 list.sort() 方法来对有理数列表进行排序吗?

javascript - JQuery 移动版 : Vertically and horizontally center multiple images using grid