vue前端手写分页,cv即用!

<template>
  <div>
<p v-for="item  in prinData" :key="item.id" >
      <span>{{item.CustomNo}}</span>
      <span>{{item.title}}</span>
    </p>

    总条数:{{totalNum}}
    页:{{currentPage}}
    设置页条数:{{pageSize}}
    <button @click="changeVal(currentPage - 1)" :disabled="currentPage<=1">上一页</button>
    <button @click="changeVal(currentPage + 1)" :disabled="Math.ceil(totalNum/pageSize)<=this.currentPage">下一页</button>
  </div>
</template>
<script>
export default {
  name: 'App',
data() {
    return {
     //原始数组
      prinDataList:[
        {id:1,CustomNo:1,title:'我是第1条'},
        {id:2,CustomNo:2,title:'我是第2条'},
        {id:4,CustomNo:4,title:'我是第4条'},
        {id:3,CustomNo:3,title:'我是第3条'},
        {id:5,CustomNo:5,title:'我是第5条'},
      ],
      prinData:[],//截取后的数组
      currentPage:1,//页数
      pageSize:2,//条数
      totalNum:0,
}
},
 mounted() {
    // 获取所有数据并转JSon,防止数据被修改
    this.totalNum = this.prinDataList.length
    this.prinDataList = JSON.stringify(this.prinDataList)
    this.getPriData()
  },
  methods: {
    changeVal(val){
      this.currentPage = val
      this.getPriData()

    },
    getPriData(){
      //原始数据
      // let data =JSON.parse(this.prinDataList)
      // sort 根据条件CustomNo进行正序排序后的数据
      let data =this.prinDataList ? JSON.parse(this.prinDataList).sort((a,b)=>{return Number(a.CustomNo) - Number(b.CustomNo)}):''
      this.prinData = []
      this.prinData = data.splice((this.currentPage - 1) * this.pageSize, this.pageSize);
    },
}

}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值