在我的数据中,我有帖子,但有些具有图片url,而另一些具有false
的值,而在显示时我想显示占位符,其中值是false
这是我的代码:
child: FadeInImage(
placeholder: AssetImage('assets/images/placeholder.png'),
image: NetworkImage(posts[index].featuredImage.large ) == null ?
Image.asset('assets/images/placeholder.png') : NetworkImage(posts[index].featuredImage.large ),
fit: BoxFit.cover,
),
答案 0 :(得分:1)
您不需要将条件posts[index].featuredImage.large
包装在NetworkImage
小部件中。
只需检查来自API的字符串是否为空,然后将默认的Image
设置为Image.asset('assets/images/placeholder.png')
,如果不为空,则将Image
设置为NetworkImage(posts[index].featuredImage.large )
。
尝试以下代码:
FadeInImage(
placeholder: AssetImage('assets/images/placeholder.png'),
image: posts[index].featuredImage.large == null ?
Image.asset('assets/images/placeholder.png') : NetworkImage(posts[index].featuredImage.large ),
fit: BoxFit.cover,
),
答案 1 :(得分:0)
这是怎么做
child: post[index].url==false? Image.assets('assets/images/placeholder.png'): FadeInImage(
fit: BoxFit.cover,
placeholder: AssetImage('assets/images/placeholder.png'),
image: posts[index].featuredImage.large == null ?
Image.asset('assets/images/placeholder.png') : NetworkImage(posts[index].featuredImage.large ),
),
但是如果您的网址声明为String
会出现问题,因为false
不是String
,比较不同的数据类型也不是一个好主意。然后,您必须检查RuntimeType
例如:post[index].url is String
//如果网址是字符串,则为true