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 相关文章推荐
JS动画效果代码3
Apr 03 Javascript
jQuery的强大选择器小结
Dec 27 Javascript
jquery 学习之二 属性 文本与值(text,val)
Nov 25 Javascript
让table变成exls的示例代码
Mar 24 Javascript
jQuery中prepend()方法使用详解
Aug 11 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
Sep 21 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
WebView启动支付宝客户端支付失败的问题小结
Jan 11 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
Feb 19 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 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
php中常用编辑器推荐
2007/01/02 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php tp验证表单与自动填充函数代码
2012/02/22 PHP
深入php之规范编程命名小结
2013/05/15 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
js分页代码分享
2014/04/28 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
python k-近邻算法实例分享
2014/06/11 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python中property属性实例解析
2018/02/10 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python中比较两个列表的实例方法
2019/07/04 Python
python多维数组分位数的求取方式
2020/03/03 Python
Python函数生成器原理及使用详解
2020/03/12 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
教师工作表现自我评价
2015/03/05 职场文书
公开致歉信
2019/06/24 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS