首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果图像url响应是空的,则如何显示本地占位符图像?

如果图像url响应是空的,则如何显示本地占位符图像?
EN

Stack Overflow用户
提问于 2020-01-03 07:55:15
回答 4查看 5K关注 0票数 1

我试图显示一个从API调用中接收到源Uri的图像。如果Uri是字符串格式中的正确链接,它就可以完全正常工作。但是,如果Uri链接为null或无效链接,我想要显示一个占位符图像(placeholder2),它是本地可用的。

代码:

代码语言:javascript
运行
复制
       <Image
          style={styles.postImage}
          source={{
            uri: imageUrl,
          }}
          defaultSource={require('../assets/images/placeholder1.png')}
        />

我知道defaultSource用于在加载真实图像时显示临时图像。

我的问题是,如果Uri从响应中为空,我就会看到这个错误

但是,如果我将代码更改为此,则会看到空白图像(灰色)。

代码语言:javascript
运行
复制
       <Image
          style={styles.postImage}
          source={{
            uri: imageUrl || 
            "require('../assets/images/placeholder2.png')",
          }}
        />

default source添加到上面的代码中,我可以看到placeholder1映像而不是placeholder2

代码语言:javascript
运行
复制
       <Image
          style={styles.postImage}
          source={{
            uri: imageUrl || 
            "require('../assets/images/placeholder2.png')",
          }}
          defaultSource = {require('../assets/images/placeholder1.png')}
        />

有人能帮我解决这个问题吗?提前谢谢。

更新

卢伊金的回答其实是为我工作的

代码语言:javascript
运行
复制
 <Image source={imageUrl ? {uri: imageUrl} : require('../assets/images/placeholder2.png')} >
EN

回答 4

Stack Overflow用户

发布于 2020-01-03 09:02:58

您可以在这里简单地遵循老派的方法:

代码语言:javascript
运行
复制
 {imageURl!=null && <Image
          style={styles.postImage}
          source={{
            uri: imageUrl 
          }}
        />}

{imageURl==null && <Image
          style={styles.postImage}
          source={{
            uri: '../assets/images/placeholder2.png'
          }}
        />}
票数 1
EN

Stack Overflow用户

发布于 2020-05-03 20:34:07

尝尝这个

代码语言:javascript
运行
复制
<Image
  style={styles.postImage}
  source={{uri: your_image_url !== null ? 
    your_image_url : '../xxx/your_local_image'}}
  }}
/>
票数 1
EN

Stack Overflow用户

发布于 2022-05-26 12:06:53

代码语言:javascript
运行
复制
<Image
    source={item.image ? { uri: item.image } : Images.no_image}
    style={{ height: '100%', width: '100%', borderRadius: 20, }}
/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59575004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档