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 async使用
Oct 19 Javascript
JavaScript中:表达式和语句的区别[译]
Sep 17 Javascript
Extjs优化(二)Form表单提交通用实现
Apr 15 Javascript
当鼠标移动时出现特效的JQuery代码
Nov 08 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
Jul 05 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
使用ajax的post同步执行(实现方法)
Dec 21 Javascript
基于js中的存储键值对以及注意事项介绍
Mar 30 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
Jun 29 Javascript
JS实现网页端猜数字小游戏
Mar 06 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 之 没有mysql支持时的替代方案
2006/10/09 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
详解python中的模块及包导入
2019/08/30 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
大整数数相乘的问题
2012/07/22 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
医院总经理岗位职责
2014/02/04 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
学习之星事迹材料
2014/05/17 职场文书
创新社会管理心得体会
2014/09/12 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python