【Vue2 + ElementUI】分页el-pagination 封装成公用组件

本文主要是介绍【Vue2 + ElementUI】分页el-pagination 封装成公用组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 效果图
    在这里插入图片描述
  2. 实现
    (1)公共组件
<template><nav class="pagination-nav"><el-pagination class="page-area" @size-change="handleSizeChange" @current-change="handleCurrentChange":current-page="currentPage" :background="background" :page-sizes="[100, 200, 300, 400, 500, 600, 700, 800]":page-size="pageSize" :layout="layout" :total="totalSize"></el-pagination></nav>
</template><script>
export default {data() {return {layout: "total, sizes, prev, pager, next, jumper",background: "background",}},props: {totalSize: {        // 数据总条数type: Number,default: 0},pageSize: {         // 每页显示条数type: Number,default: 10},currentPage: {      // 当前页码type: Number,default: 1},},methods: {/*** 当前是第几页* @param {Int} val */handleCurrentChange(val) {this.$emit('handlePageChange', { pageNum: val, pageSize: this.pageSize })},/*** 每页多少条* @param {Int} val */handleSizeChange(val) {this.$emit('handlePageChange', { pageNum: 1, pageSize: val })},}
}
</script><style lang="less">
.pagination-nav {background-color: #FFF;box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);height: 56px;display: flex;align-items: center;justify-content: center;padding: 0 10px;.el-pagination.is-background .el-pager li:not(.disabled).active {background-color: #E6F0FE;color: #023FB5;}
}
</style>

(2)页面使用

<template><div style="position: sticky;bottom: 2px;"><Pagination :current-page="query.current" :page-size="query.size" :totalSize="totalSize"@handlePageChange="handlePageChange" /></div>
</template><script>
import Pagination from "@/component/pagination.vue";
import { getList } from "@/api/xxx"
export default{components:{Pagination},data(){return{list:[],listLoading:false,query: {current: 1,size: 10},totalSize: 0,}},mounted(){this.fetchData()},methods:{/*** 初始化列表数据*/fetchData(){this.listLoading = truegetList(this.query).then(res=>{this.list = res.data.listthis.totalSize = res.data.totalthis.listLoading = false})},/*** page.pageNum 当前多少页* page.pageSize 每页多少条*/handlePageChange(page) {this.query.current = page.pageNum;this.query.pageSize = page.pageSizethis.fetchData();},	}
}
</script>
  1. 问题
    默认显示英文
    在这里插入图片描述

  2. 解决
    main.js 全局配置

import Vue from 'vue'
import ElementUI from 'element-ui'
import VueI18n from "vue-i18n";
import elENLocate from "element-ui/lib/locale/lang/en";
import elCNLocate from "element-ui/lib/locale/lang/zh-CN";
import en from "@/assets/languages/en.json";
import cn from "@/assets/languages/zh.json";Vue.use(VueI18n)const localMessages = {en: {...en,...elENLocate},zh: {...cn,...elCNLocate}
};const i18n = new VueI18n({locale: 'zh', // 定义默认语言为中文silentTranslationWarn: true, // 关闭全部由未翻译关键字造成的警告messages: localMessages
});
ElementLocale.i18n((key, value) => i18n.t(key, value));new Vue({el: "#app",router,i18n,components: {App},template: "<App/>"
});
  1. 解决结果
    在这里插入图片描述

  2. 参考
    element-ui官网
    在这里插入图片描述

  3. @/assets/languages下的文件
    见 资源

这篇关于【Vue2 + ElementUI】分页el-pagination 封装成公用组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643633

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo