【发布时间】:2021-03-26 15:33:07
【问题描述】:
avatarid 和relationlist 是从父级传递过来的,当上传图片时,头像会改变,但是如果relationlist 发生变化(从RelationTable 组件中添加或删除项目),头像将重置为原始。
我认为RelationTable 重新渲染会导致父级重新加载。子组件更新时如何停止此类重置。谢谢。
<template>
<el-upload
class="avatar-uploader"
action
:http-request="uploadAvatar"
accept="image/jpeg,image/jpg,image/png"
:after-upload="uploadAvatarSucc"
>
<RelationTable ref="relationTable" :relationlist="relationlist" @delete="removeRelation" />
</template>
export default {
name: 'relation-component',
props: {
avatarid: {
type: String,
default: ''
},
relationlist: {
type: Array,
default: null
}
},
methods: {
uploadAvatarSucc(res) {
this.avatarid = res.imageId
},
removeRelation(index) {
if (this.relationlist.length > 0) {
this.relationlist.splice(index, 1)
}
}
}
}
【问题讨论】:
标签: vue.js vuejs2 vue-component vue-router