vue实现分页组件


Posted in Javascript onJune 16, 2020

本文实例为大家分享了vue实现分页组件的具体代码,供大家参考,具体内容如下

<template>
 <div class="pageBox">
 <ul>
  <li v-if="this.condition.pageNo > 1 && this.pages.length > 4" class="sides"><a @click="prePage()"><s class="font_main"></s></a></li>
  <li v-for="(item, index) in pages" :class="{'curtPage': condition.pageNo == item}">
  <a v-if="item" @click="goPage(item)" >
   <s>{{item}}</s>
  </a>
  <a href="javascript:;" rel="external nofollow" v-else>...</a>
  </li>
  <li class="sides" v-if="condition.pageNo < pageCount && this.pageCount > 4"><a @click="nextPage()"><s class="font_main"></s></a></li>
 </ul>
 </div>
</template>

js中代码 page 和condition是由父组件中传过来的参数

<script>
 export default {
 props: {
  page: Object,
  condition: Object
 },
 data () {
  return {
  pageSize: this.condition.pageSize
  }
 },
 computed: {
  pageCount: function () {
  return this.page.totalCount / this.condition.pageSize > 0 ? this.page.totalCount % this.condition.pageSize === 0 ? this.page.totalCount / this.condition.pageSize : Math.ceil(this.page.totalCount / this.condition.pageSize) : 1
  },
  pages () {
  let c = this.condition.pageNo
  let t = this.pageCount
  let arr = []
  if (t === 1) {
   return arr
  }
  if (t <= 4) {
   for (let i = 1; i <= t; i++) {
   arr.push(i)
   }
   return arr
  }
  if (c <= 3) return [1, 2, 3, 0, t]
  if (c >= t - 1) return [1, 0, t - 2, t - 1, t]
//  if (c === 4) return [1, 2, 3, 4, 5, 0, t]
//  if (c === (t - 2)) return [1, 0, t - 3, t - 2, t - 1, t]
  return [1, 0, c - 1, c, c + 1, 0, t]
  }
 },
 methods: {
  goPage (indexPage) {
  if (this.indexPage !== this.condition.pageNo) {
   this.condition.pageNo = indexPage
   this.$emit('search')
  }
  },
  prePage () {
  if (this.condition.pageNo !== 1) {
   this.condition.pageNo--
   this.goPage(this.condition.pageNo)
  }
  },
  nextPage () {
  if (this.condition.pageNo !== this.pageCount) {
   this.condition.pageNo++
   this.goPage(this.condition.pageNo)
  }
  }
 }
 }
</script>

效果图:

vue实现分页组件

vue实现分页组件

vue实现分页组件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
JavaScript页面模板库handlebars的简单用法
Mar 02 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
js实现碰撞检测特效代码分享
Oct 16 Javascript
JS开发中基本数据类型具体有哪几种
Oct 19 Javascript
JS+HTML5 canvas绘制验证码示例
Dec 05 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 Javascript
微信小程序接入腾讯云验证码的方法步骤
Jan 07 Javascript
如何用RxJS实现Redux Form
Dec 29 #Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 #Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 #jQuery
javascript实现计算指定范围内的质数示例
Dec 29 #Javascript
基于vue.js组件实现分页效果
Dec 29 #Javascript
详解Vue.js v-for不支持IE9的解决方法
Dec 29 #Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 #jQuery
You might like
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
浅谈Python NLP入门教程
2017/12/25 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
Python API len函数操作过程解析
2020/03/05 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
2014年销售部工作总结
2014/12/01 职场文书
反腐倡廉观后感
2015/06/08 职场文书
学会感恩主题班会
2015/08/12 职场文书