vue、带省略分页器

效果图:
在这里插入图片描述
下一页:
在这里插入图片描述
不符合省略条件:
在这里插入图片描述

html:
<div class="Pager">
  <div class="Pager_box">
    <div @click="previous">上一页</div>
    <ul class="Pager_box_list">
      <li v-for="(item,index) in listss" :key="index" :class="item===ind ? 'activation' : ''">{{item}}</li>
    </ul>
    <div @click="next">下一页</div>
  </div>
</div>

js:
export default{
	data(){
		return{
	      list: [1,2,3,4,5,6,7,8,9,10,11], // 原始数组
	      lists: [1,2,3,4,5,6,7,8,9,10,11], // 第二数组
	      listss: [], // 渲染数组
	      index: 7, // 省略长度
	      ind: 1
	    }
	},
  created () {
    if (this.list.length > this.index) {
      var arr = []
      for (var i=0;i<this.list.length;i++) {
        arr.push(this.list[i])
      }
      arr.splice(Math.floor(this.index/2),(arr.length-this.index)+1,'...')
      this.listss = arr
    }
  },
  methods: {
    previous () {
      if (this.ind > 1) {
        this.ind --
        // 改变数组
        this.lists.unshift(this.lists[0]-1)
        this.shuzhu(this.list,this.ind,this.lists)
      } else {
        console.log('第一页')
      }
    },
    next () {
      if (this.ind < this.list.length) {
        this.ind ++
        // 改变数组
        this.lists.shift()
        this.shuzhu(this.list,this.ind,this.lists)
      } else {
        console.log('最后一页')
      }
    },
    shuzhu (arr,index,list) {
      if (index >= arr.length-(this.index-1)) {
        this.listss = []
        var num = this.index
        for (var i=0;i<this.index;i++) {
          this.listss.push(arr[arr.length-num])
          num --
        }
      } else {
        var arrs = []
        for (var i=0;i<list.length;i++) {
          arrs.push(list[i])
        }
        arrs.splice(Math.floor(this.index/2),(arrs.length-this.index)+1,'...')
        this.listss = arrs
      }
    }
  }
}

根据需要修改省略长度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值