最近重构一个项目,需要实现带有首页,末页的分页功能,

但是element的pagination并没有这样子,最完整功能如下

网上搜索了好多,发现有slot可以增加自定义项,但是

    <el-paginationbackground@current-change="handleCurrentChange":current-page="currentPageNum":page-size="pageSize"layout="total,slot,prev,pager,next,slot, jumper":total="total":firstPage='firstPage':lastPage='lastPage'><el-button:disabled="currentPageNum === firstPage"class="first-pager"@click="toFirstPage">首页</el-button><el-button:disabled="currentPageNum === lastPage"class="last-pager"@click="toLastPage">末页</el-button></el-pagination>

这样却并不能实现,只能出现一个首页的button,实在是找不到末页的button哪里去了,不知道是不是只能带一个slot

最后无奈只能这样实现了,直接上代码了

<template><div><el-paginationbackground@current-change="handleCurrentChange":current-page="currentPageNum":page-size="pageSize"layout="total,slot,prev":total="total"><el-button :disabled="firstPageBtnDisabled" class="first-pager" @click="toFirstPage">首页</el-button></el-pagination><el-paginationbackground@current-change="handleCurrentChange":current-page="currentPageNum":page-size="pageSize"layout="pager,next,slot,jumper":total="total"><el-button :disabled="lastPageBtnDisabled" class="last-pager" @click="toLastPage">末页</el-button></el-pagination></div>
</template>
<script>
export default {name: "pages",components: {},data() {return {currentPageNum: this.currentPage,firstPageBtnDisabled: true,lastPageBtnDisabled: false,lastPageNum: Math.ceil(this.total / this.pageSize)};},props: {currentPage: {type: Number,default: 1},pageSize: {type: Number,default: 10},total: {type: Number,default: 0}},watch: {total(newVal, oldVal) {this.total = newVal;this.lastPageNum = Math.ceil(newVal / this.pageSize);}},created() {},methods: {handleCurrentChange(val) {this.firstPageBtnDisabled = val === 1 ? true : false;this.lastPageBtnDisabled = val === this.lastPageNum ? true : false;this.currentPageNum = val;this.$emit("handleCurrentChangeSub", val);},toFirstPage(val) {this.handleCurrentChange();},toLastPage(val) {this.currentPageNum = this.lastPageNum;this.handleCurrentChange(this.lastPageNum);}},created() {},mounted() {},destroyed() {}
};
</script>
<style>
.el-pagination {float: left;
}
</style>

全局注册一下组件,在compones文件夹下新建index.js

import Vue from 'vue'import pages from './pages'Vue.component('pages', pages)

最后在main.js中引入就可以了

在组件中使用

        <pages:total='fenye.total':currentPage='fenye.pageNum':pageSize='fenye.pageSize'@handleCurrentChangeSub="handleCurrentChange"></pages>

或有不足之处尚待修改

vue+element pagination分页的二次封装,带首页末页功能相关推荐

  1. vue element Pagination分页组件二次封装

    vue+element 的分页组件封装 1.在components中创建GlobalPagination文件夹,代码如下 <template><div :class="{' ...

  2. Vue + Element + Table 分页选择勾选 和取消勾选的问题

    Vue + Element + Table 分页选择勾选 和取消勾选的问题 问题描述: 需求是这样的===>表格前面每条数据都有复选框吧 然后表格有很多页 , 我从第一页选取N条数据 再去其他页 ...

  3. Spring Boot Vue Element入门实战(五)封装axios

    本博客属作者原创,未经允许禁止转载,请尊重原创!如有问题请联系QQ509961766 (一)关于Axios Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get.pos ...

  4. vue+element UI分页的使用方法

    这篇仅对于刚入行前端的小伙伴,大佬勿喷,技术比较菜,哪里写的不对也请指正 首先第一步当然少不了我们的分页组件 <el-pagination:current-page="page_opt ...

  5. vue中使用qrcode生成二维码并实现打印功能

    问题产生背景: 客户要求根据表格中选中的数据产生对应的二维码并可以利用打印机打印出来 必要条件:vue.需要安装qrcode和vue-print-nb依赖(具体安装可自行百度) 实现思路: 当用户勾选 ...

  6. 【笔记】Vue Element+Node.js开发企业通用管理后台系统——电子书解析功能开发

    文章目录 一.电子书解析 1.构建函数 2.从文件创建 Book 对象 3.电子书解析 (1)epub 库集成 (2)使用 epub 库解析电子书 (3)epub 库获取图片逻辑修改 (4)电子书目录 ...

  7. Pagination 分页实现跳转首页和尾页

    使用slot插槽添加首页和尾页按钮: <div class="paginationCustomize" v-if="tableData.length > 0& ...

  8. 对elementui中分页组件进行二次封装

    为什么二次封装 一般在后台管理项目当中,页面功能涉及到的数据展示的地方会比较多,而其中却少不了表格,分页以及条件检索.如果代码是 copy 来又 copy 去,岂不是很没有技术含量. 而且每个项目的U ...

  9. Spring Boot Vue Element入门实战(完结)

    最近给朋友做一个大学运动会管理系统,用作教学案例,正好自己也在自学VUE,决定用spring boot vue做一个简单的系统.vue这个前端框架很火,他和传统的Jquery 编程思路完全不一样,Jq ...

  10. Echarts的二次封装思考心得。封装成果:折线柱状混合图、立体柱状折线混合图、markline标记线

    先说一下这次对ECharts二次封装总结的一些东西吧,感觉这是重点! 二次封装及使用的矛盾痛点: 一般封装只会暴露出一些常用的属性,最常见的如图表的颜色.数据: 封装人员也不会考虑把所有情况都封装起来 ...

最新文章

  1. 如何规划创建一个家庭实验室
  2. Java程序员的日常—— 《编程思想》关于类的使用常识
  3. 游戏得有活动的场景:代码中生成多行多列的LinearLayout布局
  4. etc/ld.so.conf的使用说明
  5. JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)
  6. 程序员修炼之道阅读笔记02
  7. 清理神器CleanMyMac X 空间透镜——可视化您的磁盘空间
  8. linux bash 获取 国内常见网站的IP列表
  9. java零碎要点012---linux Centos下编译、运行、调试java程序
  10. php 5.4连接mysql_MySQL数据库之PHP5.4中mysql连接
  11. 科学研究设计一:什么是科学
  12. SPSS应用多元逻辑回归解决无序多分类问题
  13. 安卓逆向学习 之 KGB Messenger的writeup(1)
  14. 关于勾股数的规律及证明
  15. 7.5 SNN《脉冲神经网络研究进展综述》笔记
  16. Android8-Settings-BlueTooth
  17. 使用Auto.js庖丁对Pro Snapshot快照加密的解密打包教程
  18. Java 中this和super的用法总结
  19. 如何给行内元素设置宽高
  20. Ubuntu18.04使用RPLIDAR A2M12雷达出错的解决办法

热门文章

  1. VMware Workstation 12.0.0 Pro 正式版/注册码/注册机
  2. 获取硬盘序列号(VC)
  3. Windows新版算号器技术原理
  4. uniappd的web-view组件无法动态加载本地html文件的解决办法
  5. 3D屏保:魔方2.0版本
  6. 深度神经网络是谁发明的,神经网络是谁发明的人
  7. 直接修改gba_gba修改教程完全版
  8. GPS之家论坛最新地图下载精选 汇集论坛精华 不断更新中(2013 3 30)
  9. 科勒公司成为曼联的主要合作伙伴
  10. 如何制作bt种子文件