【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

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Golang如何用gorm实现分页的功能

《Golang如何用gorm实现分页的功能》:本文主要介绍Golang如何用gorm实现分页的功能方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景go库下载初始化数据【1】建表【2】插入数据【3】查看数据4、代码示例【1】gorm结构体定义【2】分页结构体

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h