在遍历数据时 前端手动增加字段用来暂存点赞或刷新的数据
this.list.forEach(element => {
if(!element.Praise){ //点赞数量
element.Praise = {Count:0,Data:[]}
}
if(!element.Comment){ //评论数量及内容
element.Comment = {Count:0,Data:[]}
}
});
当接口返回成功信息时再进行操作,可以保证前端和数据库的数据是一致的
praise(item,bool){
PraiseMQ({data}).then(res => {
if(!res.iserror){
if (bool) {
item.PraiseDone = true
item.Praise.Count += 1
// Toast('点赞成功')
} else {
item.PraiseDone = false
item.Praise.Count -= 1
}
}else{
Toast(res.errormsg)
}
})
},
Comment({data}).then(res => {
if(!res.iserror){
Toast('评论成功')
this.isDiscuss = false
let obj={
UserName:res.data.UserName,
Message:res.data.Message
}
this.currentItem.Comment.Data.push(obj)
this.currentItem.Comment.Count += 1
this.$forceUpdate()
}
})