如何检查飞镖三元运算符中的空小部件值以在空时显示默认图像?
How to check for null widget value in dart ternary operator to display default image if null?
你好,我的 flutter 代码需要一些帮助
我正在从 json 加载数据并将数据从一个屏幕传递到另一个屏幕。
我想使用三元运算符来检查是否为空,但一直出现错误。
我想在没有数据的情况下加载默认图像,出现错误 - 表达式失败:布尔表达式不能为空。
下面是我在有状态小部件中的代码片段
widget.image 包含图像的数据
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 是一个字符串(您没有将它与任何东西进行比较)。三元运算适用于 Boolean
你好,我的 flutter 代码需要一些帮助 我正在从 json 加载数据并将数据从一个屏幕传递到另一个屏幕。 我想使用三元运算符来检查是否为空,但一直出现错误。
我想在没有数据的情况下加载默认图像,出现错误 - 表达式失败:布尔表达式不能为空。
下面是我在有状态小部件中的代码片段 widget.image 包含图像的数据
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 是一个字符串(您没有将它与任何东西进行比较)。三元运算适用于 Boolean