image - 如何检查飞镖三元运算符中的空小部件值以在为空时显示默认图像?
问题描述
您好,我的颤振代码需要一些帮助我正在从 json 加载数据并将数据从一个屏幕传递到另一个屏幕。我想使用三元运算符来检查 null 但不断收到错误。
如果没有数据,我想加载默认图像,我收到错误 -表达式失败:布尔表达式不能为空。
下面是我在有状态小部件小部件中的代码片段。图像包含图像的数据
class DetailScreen extends StatefulWidget {
//load json data to each section, using index provided from list page.
final herbName;
final index;
final image;
final text;
DetailScreen({this.herbName,this.index,this.image,this.text});
@override
_DetailScreenState createState() => _DetailScreenState();
}
//下面的代码位于State内部
BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(30.0)),
color: Colors.redAccent,
image: DecorationImage(
fit: BoxFit.cover,
image: **widget.image ? NetworkImage("http://images.neopets.com/altador/altadorcup/signup_full.gif")
:
NetworkImage(widget.image),**
)),
解决方案
你可以试试这些
1. image: NetworkImage(widget.image ?? "http://images.neopets.com/altador/altadorcup/signup_full.gif")
2.image: widget.image == null ? NetworkImage("http://images.neopets.com/altador/altadorcup/signup_full.gif") : NetworkImage(widget.image);
您收到该错误是因为 widget.image 是一个字符串(并且您没有将它与任何东西进行比较)。三元运算与布尔值一起使用
推荐阅读
- apachebench - 具有包含音频内容的 http 多部分/相关请求的负载测试服务器
- database - 如何从数据库中检索堆栈
- python - 降低函数字典的代码复杂性
- node.js - 推荐用于 Node-RED 的 .gitignore
- javascript - 为什么我不断收到错误 s 未定义?
- firebase - 将 Firebase 连接到 BigQuery 沙盒
- html - HTML/CSS:表格宽度与 div 相同
- r - 在R中没有邻接矩阵的情况下动态查询顶点属性值
- java - 在 IntelliJ IDEA 中导入 Springframework 源代码
- r - 使用 lubridate 和 dyplr 过滤特定日期的数据集