前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决elementUI 中 el-avatar组件头像切换不更新问题

解决elementUI 中 el-avatar组件头像切换不更新问题

作者头像
吟风者
发布2019-12-13 12:59:53
3.6K0
发布2019-12-13 12:59:53
举报
文章被收录于专栏:吟风者吟风者

问题描述: 当使用el-avatar组件时,如果刷新页面时,el-avatar图片加载失败了,那么el-avatar组件就会进入到失败的事件中,就像下图一样:

头像加载失败

这时候去修改头像,那么头像修改成功了,但是图片并不会自动加载,而是需要再去刷新一下浏览器,那么这就违背了事情的初衷了。 起初想的是不是因为vuex的getter没有及时更新头像的url信息,就去查了很多相关的资料,最后还是没能解决,经过不断的测试,发现如果页面进来的时候只要头像加载成功了,那么再去修改头像,头像是会自动刷新的。然后就去翻看了dom信息,发现当头像加载失败时,dom是没有头像img标签的,加载成功就存在img标签。如下图:

头像加载失败dom节点图

头像加载成功dom节点图

所以就猜想,只要dom存在,那么就能自动刷新头像图片,所以又去element-ui官网看了一下,并没有找到想要解决的思路。

没办法,再去百度了一波elementui el-avatar组件加载图片失败,再修改图片地址,组件不再渲染。 终于发现还是有人和我一样的问题的。

2019-08-23 解决elementUI 中 el-avatar组件头像切换不更新问题 看了一下,他的问题大致和我的差不多,所以就在组件上试了一下,也加上了一个key属性,没想到就真的可以了,由此可见,key在组件渲染还是有很大用处的。

代码语言:javascript
复制
            <el-avatar v-if="circleUrl" :size="avatarSize.size" :src="circleUrl" alt="用户头像" :key="circleUrl" >
               <i class="el-icon-plus avatar-uploader-icon"
                   :style="{width:avatarSize.width,height:avatarSize.height,'line-height':avatarSize.lineHeight,'font-size':avatarSize.fontSize}"></i>
            </el-avatar>

最后希望element-ui也能及时更新一下这个相关的bug,或者在文档方面做一下相关说明。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档