You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
1.2 KiB

<template>
<view class="icons" @click.stop="likeTab">
<uni-icons size="20" color="#f07373" :type="like?'heart-filled':'heart'" ></uni-icons>
</view>
</template>
<script>
export default {
props:{
item:{
type:Object,
default(){
return {}
}
},
types:{
type:String,
default:''
}
},
watch:{
item(newVal){
this.like = this.item.is_like
}
},
created() {
this.like = this.item.is_like
},
data() {
return {
like:false
};
},
methods:{
likeTab(){
this.like = !this.like;
this.updateLikes();
},
updateLikes(){
uni.showLoading();
this.$api.update_likes({
user_id:'5f3d11c03d11c60001141e5f',
article_id:this.item._id
}).then(res=>{
uni.hideLoading();
console.log(res);
uni.showToast({
title:this.like?"收藏成功":"取消收藏",
icon:'none'
})
uni.$emit('update_article',this.types)
}).catch(()=>{
uni.hideLoading();
})
}
}
}
</script>
<style lang="scss">
.icons {
position: absolute;
right: 0;
top: 0;
display: flex;
justify-content: center;
align-items: center;
width: 20px;
height: 20px;
}
</style>