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

问题描述:
当使用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在组件渲染还是有很大用处的。

            <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,或者在文档方面做一下相关说明。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容