首页 > 其他分享 >vue实现‘换一批’功能

vue实现‘换一批’功能

时间:2023-08-22 11:23:42浏览次数:39  
标签:功能 vue group timeEnd clickNum 点击 num 一批 qList

实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组

  <div class="flex-align" @click="change">
        <span>换一批</span>
      </div>
  data() {
    return {
      qList: [],
      //处理后的list
      newList: [],
      //截取第几组的开始参数
      timeStart: 0,
      //截取第几组的结束参数
      timeEnd: 1,
      //默认为0组
      group: 0,
      //一页展示list数量
      num: 3,
      //点击的次数
      clickNum: 0
    };
  },
methods:{
// 换一批
    change() {
      if (this.qList.length > 4 && this.qList.length > this.num) {
        //点击的时候获取分为几组
        this.listlen();
        //每点击一次记录点击次数
        this.autoIncre();
        this.clear();
        this.renderR();
      }
    },
    // 计算数据的长度,共分为几组,如果不能整除则加1
    listlen() {
      var len = this.qList.length;
      this.group = len / this.num;
      if (len % this.num != 0) {
        this.group = parseInt(this.group) + 1;
      }
    },
    //计算将点击次数和开始截取的参数清空, 如果点击此时大于当前数据的组数,则重新开始计数。
    clear() {
      if (this.clickNum > this.group - 1) {
        this.timeStart = 0;
        this.timeEnd = 1;
        this.clickNum = 0;
      }
    },
    //每点击一次,记录次数
    autoIncre() {
      this.clickNum++;
      this.timeStart++;
      this.timeEnd++;
    },
    //截取当前每组的数据
    renderR() {
      this.newList = this.qList.slice(
        this.num * this.timeStart,
        this.num * this.timeEnd
      );
      console.log(this.newList);
    }
  },
//获取总数据
  created() {
    this.$https("get", "/xxx/xxx", params)
      .then(res => {
        this.qList = res.data.data;
        this.renderR();
      })
      .catch(err => {
       
      });
  }

  

标签:功能,vue,group,timeEnd,clickNum,点击,num,一批,qList
From: https://www.cnblogs.com/chicidol/p/17648067.html

相关文章

  • 开发登录 退出功能
    开发登录退出功能访问登录页面点击顶部区域内的链接,打开登录页面登录验证账号,密码,验证码。成功时,生成登录凭证,发给客户端。失败时,跳转返回登录页面。退出将登录凭证修改为失效状态。跳转至网站首页。新建LoginTicket实体类新建LoginTicketMapper接口@Mapperpub......
  • wxauto增加@功能
    直接在WeChat中增加一个函数 defat(self,name,msg,clear=True):''':paramname:需要@人的名字:parammsg:要发送的信息:paramclear:'''self.UiaAPI.SwitchToThisWindow()if......
  • 使用Vue.js构建交互式的前端应用
    引言Vue.js是一种流行的JavaScript框架,用于构建交互式的前端应用程序。它具有简单易用的API和灵活的组件化架构,使开发人员能够快速构建高效的用户界面。什么是Vue.js?Vue.js是一种用于构建用户界面的开源JavaScript框架。它采用了MVVM(Model-View-ViewModel)架构模式,通过数据绑定和......
  • VUE3单页面应用开发常用工具
    Vite一种新型的前端构建工具,它主要由两个部分做成一个开发服务器,它基于 原生ES模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。社区模......
  • JShaman的域名锁定功能,支持泛域名
    JShaman的域名锁定功能,支持泛域名JShaman的JS代码混淆加密中,有一项“域名锁定”功能。使用此功能后,代码运行时会检测浏览器地址中的域名信息,如是非指定域名,则不运行,以此防止自己网站的JS代码被复制他人的网站中使用的盗用行为。此功能,使用非常灵活,支持多域名,且支持泛域名。本文演示......
  • vue_中文输入法情况下, 输入框v-model绑定值中没有输入值但却触发input事件
    今天写的一个搜索框,要求输入字符时不作处理,直到用户点击搜索按钮时才执行搜索逻辑;当用户将搜索框文本删除至空字符串时,执行一次无搜索值的搜索逻辑,用于将表格数据恢复至无筛选;在这个功能上我想当然地使用了input事件用于触发输入事件,但是被测试出bug:当输入法是......
  • DFA算法实现查找敏感词功能
    publicclassDFAFilter{privateSet<String>sensitiveWords;privateintmaxLength;publicDFAFilter(){sensitiveWords=newHashSet<>();maxLength=0;}publicstaticvoidmain(String[]args){......
  • VUE element-ui之table表格全局排序
    一调用后端接口排序功能步骤:标签中定义排序方法:<el-tableref="reset"v-loading="loading":data="tableData"height="520"border@sort-change="sortChange">要排序的字段......
  • 视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?
    视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集......
  • vue实现简单表单收集
    vue实现简单表单收集实现<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><scriptsrc="......