vue 收藏和取消收藏的点击事件

描述

点击“取消收藏“,图标切换,文字变为“收藏“,收藏状态变为”未收藏“,刷新页面”未收藏“数据不再显示

思路

通过if判断,给定这条数据一个状态,点击改变状态值(状态需要后端在接口里返回)

  • 未点击时,图标亮,状态为true
  • 点击时,图标灰,数据从列表消失改变为false

template

 <div
  class="star_on_off"
  @click="cancelCollection(item, index)"
  style="cursor: pointer"
  >
     <img src="@/assets/star.png" v-if="!item.state" />
     <img src="@/assets/star_active.png" v-else />
      <p v-if="!item.state">未收藏</p>
      <p v-else>收藏</p>
 </div>

 data

 stateData: {}, //收藏状态

 methods

给后端返回状态和id

    /***
     * 取消收藏
     */
    async cancle(item, index) {
      console.log(item, "111");
      // cancleFavorite收藏接口
      let res = await cancleFavorite({
        id: item.baikeId,
        remove: item.state,
      });
      if (res.code == "200") {
        // console.log(res)
        this.onSearch();
      } else {
        this.onSearch();
        this.$message.warning(res.msg);
      }
    },
    // 收藏/取消收藏操作
    cancelCollection(item, index) {
      // console.log(item, "9");
      this.stateData.loginUserFavorite = !this.stateData.loginUserFavorite;
      this.cancle(item, index);
    },

列表刷新

在created里调查询事件(获取列表信息)

 created() {
    this.onSearch();
  },

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值