前两天一个新来的同事问了我一个前端,关于 收藏和取消收藏的 功能的
当时给了他2个方法:
1)子组件完成收藏功能,收藏完成后调用父组件刷新列表
2)收藏后,修改参数对象属性,来实现按钮的显隐
为了简单,后面我采用第二种,这里贴下代码
代码如下
1. 按钮定义
<el-button v-if="item.collectStatus === '1'" @click.stop="cancelCollect(item)" >
取消收藏
</el-button>
<el-button v-else @click.stop="collect(item)" >
收藏
</el-button>
2. 收藏方法
// 收藏
collect(data) {
this.$api.bizApi.xxx.collecting({
id: data.id
}).then((res) => {
if (res.code === 1) {
this.$message({type: 'success', message: "收藏成功"})
this.$set(data, 'collectStatus', '1')
}
}).catch(() => {})
},
// 取消收藏
cancelCollect(data) {
this.$api.bizApi.xxx.cancleCollecting({
id: data.id
}).then((res) => {
if (res.code === 1) {
this.$message({type: 'success', message: "取消收藏成功"})
this.$set(data, 'collectStatus', '0')
}
}).catch(() => {})
}
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏