我这里动态渲染的表格,点击“+”上传图片之后想把临时的图片链接temUrl渲染上去:
这个manageTableData的原本没有temUrl对象,现在我调用函数把这个对象加进去:
完了之后表格的图片没有及时更新,咋整?
(但打开控制台后就更新了,就是更新太慢了,怎么办?)
解决了。我更换了策略,决定不用插槽来更新数据,而是新定义一个odd数组来动态绑定。
data(){
return{
odd:[]
}
}
//添加临时图片文件
addImageFile(image){
let id=image.data.id//传过来的行信息
let file=image.file//传过来的文件
let url=URL.createObjectURL(file)//临时链接
if(this.odd.filter(item=>item.id==id)[0]){
//当存在临时文件时,重新赋值
this.odd.filter(item=>item.id==id)[0].temUrl=url
this.odd.filter(item=>item.id==id)[0].file=file
}else{
//当不存在时,新增一个临时文件对象
this.$set(
this.odd,
this.odd.length,
{id:id,file:file,temUrl:url}
)
}
console.log('this.odd',this.odd)
},