素材管理(三)-全部与收藏切换-radio单选框按钮样式组件切换显示和隐藏-隐藏pagination分页组件 & 收藏素材-状态切换-async异步方法提交后台数据

本文介绍如何使用Element UI的radio单选框组件实现素材管理页面的全部与收藏切换功能,包括监听切换事件、分页组件的显示与隐藏,以及通过点击图标实现素材收藏状态的改变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

04-素材管理-全部与收藏切换

  • 监听用户的切换行为(radio单选框组件中的按钮样式的值改变事件)

    组件网址:radio单选框组件中的按钮样式
    https://element.eleme.cn/#/zh-CN/component/radio

    • 看事件的名称:change
    • 传参:选中的label的值 (v-model反馈 reqParams.collect)
    • 当筛选条件改变后:页码设置第一页
    • 重新查询即可

div盒子添加change事件:

<el-radio-group @change="changeCollect"

methods中修改事件方法:

// 切换了全部收藏
    changeCollect () {
      this.reqParams.page = 1
      this.getImages()
    },

分页小于2页,隐藏pagination分页组件:

网址:隐藏pagination分页组件
https://element.eleme.cn/#/zh-CN/component/pagination

 <el-pagination
      style="text-align:center"
      background layout="prev, pager, next"
      :total="total"
      :page-size="reqParams.per_page"
      :current-page="reqParams.page"
      @current-change="changePager"
      //直接添加已有的事件属性
+      hide-on-single-page
      ></el-pagination>

05-素材管理-收藏素材

  • 点击收藏图标
    • 如果,状态是未收藏,操作:添加收藏
    • 反之,取消收藏
    • 发请求
      • 成功:图片的状态是 收藏 图标红色 取消收藏 图标白色
<span @click="toggleCollect(item)" class="el-icon-star-off" :class="{red:item.is_collected}"></span>

异步方法提交数据使用async

// 切换图片状态
    async toggleCollect (item) {
      // 提交给后台的状态  说白就是当状态的取反
      const { data: { data } } = await this.$http.put(`user/images/${item.id}`, {
        collect: !item.is_collected
      })
      // 操作成功(取消收藏成功  添加收藏成功)
      this.$message.success(data.collect ? '添加收藏成功' : '取消收藏成功')
      // 更新列表(重新获取后台数据进行更新) 后端有排序 收藏的图片靠前排序
      // 更新当前图片的数据 数据驱动视图 更新图标颜色
      item.is_collected = data.collect
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值