前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >uni-app的image加载失败显示默认图片

uni-app的image加载失败显示默认图片

作者头像
薛定喵君
发布2021-04-30 15:51:07
5.2K0
发布2021-04-30 15:51:07
举报
文章被收录于专栏:薛定喵君薛定喵君

记录下如何设置默认图片,图片地址加载失败的话就显示默认图片

# 问题

用 uni-app 开发前端时,图片比较大、网络差或者图片资源已经不存在,就会导致 image 无法显示图片,而呈现出来空白,影响用户体验。

# 解决方法

通过文档说明我们可以得知,有以下事件:

image 组件文档

属性名

类型

默认值

说明

平台差异说明

@error

HandleEvent

当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong'}

@load

HandleEvent

当图片载入完毕时,发布到 AppService 的事件名,事件对象event.detail = {height:'图片高度px', width:'图片宽度px'}

所以可以在 image 图片加载发生错误的时候显示默认图片:

代码语言:javascript
复制
<view v-for="(app,i) in officeApp" :key="i" class="jn-com-part">
    ...
    <view v-if="app.app_list.length>0" class="uni-grid-9">
        <view v-for="(item,index) in app.app_list" :key="index">
            <view class="uni-grid-9-ico">
                <view class="icon-box-lin">
                    <image class="app-icon" @error="imageError($event, index, i)" :src="item.icon" mode="aspectFill" />
                </view>
            </view>
        </view>
    </view>
    ...
</view>
代码语言:javascript
复制
imageError(e, index, i) {
    this.officeApp[i]['app_list'][index]['icon'] = '/static/image/other/app-icon.png'
},

# 参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 问题
  • # 解决方法
  • # 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档