firebase - “必须为文本小部件提供非空字符串”(Flutter)

标签 firebase flutter dart google-cloud-firestore

我尝试使用以下代码修复此问题,但恐怕该错误仍然普遍存在:

The following assertion was thrown building:
A non-null String must be provided to a Text widget.
'package:flutter/src/widgets/text.dart':
Failed assertion: line 360 pos 10: 'data != null'
child: Row(
            children: [
              Text(
                  (contact.data()['rating'] == null)
                      ? "n/a"
                      : contact.data()['rating'].toString(),
                  style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Colors.tealAccent)),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: CircleAvatar(
                  radius: 25,
                  backgroundImage: AssetImage("assets/girl2.jpg"),
                ),
              ),
              Spacer(),
              Text(
                contact.data()['name'],
                style: TextStyle(
                    fontWeight: FontWeight.w400, color: Colors.tealAccent),
              ),
              Spacer(),
              Text(
                contact.data()['location'],
                style: TextStyle(
                    letterSpacing: 1,
                    fontSize: 10,
                    fontWeight: FontWeight.w300,
                    color: Colors.tealAccent),
              ),
            ],
          ),
如何解决这个问题?

最佳答案

您可以添加:

contact.data()['rating'] ?? "empty" 
上面的代码将检查左侧的表达式是否不为null,如果为空,则将“空”添加到Text小部件中。您还必须将条件添加到其他Text小部件中。

关于firebase - “必须为文本小部件提供非空字符串”(Flutter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64343386/

相关文章:

python - 我可以在 AppEngine (Python) 中使用 Firebase Admin SDK吗?

Firebase:在 javascript on() 事件中进行查询过滤

flutter - 如何使用 flutter ffmpeg 0.3.0 在视频上绘制文本

带有多部分/表单数据的 DART 帖子

user-interface - Flutter Widget 显示嵌套树结构?

dart - ShadowRoot 没有在 Polymer 中的模板重复中找到元素

swift - 从 firebase 读取数据以用于 swift 中的登录页面

android - 在 Cocos2d-x 项目中包含新的 Firebase 库

android - 如何在 flutter 视频播放器中设置边框半径?

dart - 如何使用 TextPainter 绘制文本?