Element Plus的Pagination 组件用法

news2024/12/24 9:18:51

5.2  Pagination 组件

分页组件通常与表格组件一同使用,在数据量很大的时候,通常不会在表格中一次性显示所有的数据,因为如果所有数据都展示在一个页面,数据量庞大,容易造成浏览器崩溃,就算数据可以完全展示出来,这样的页面也会让用户失去兴趣,而不会全部浏览。所以通常会将数据进行少量展示,分页处理,如果用户感兴趣,则会单击更多的页码进行浏览,这样的界面更加简洁,方便用户,使用户更愿意在页面上停留。

和表格组件一样,分页组件也有其常用的事件和方法,通常也有一套常用的视图表现,如有上一页、下一页、首页、尾页、显示总页数、翻页等。因为使用频繁,Element也对分页组件进行了封装,并充分考虑了常用的场景,所以也能满足很多常用开发需求。本节将对其常用功能进行介绍。

5.2.1  Pagination组件的引入方式

Pagination组件由<el-pagination>标签组成。el-pagination具有多种属性、插槽和事件,主要控制表格整体。el-column同样有多种属性,主要控制表格各列的配置。两种标签配合使用,让Table支持行列合并、树形展示等相对复杂且常用的功能。如果是全局引入了Element Plus,则可以直接在组件或页面中使用<el-table>和<el-table-column>标签并配置标签属性的事件和方法,以展示表格数据。如果使用按需引入方式,则需要将Table组件和TableColumn组件按如下方式先引入:

import { ElPagination } from 'element-plus'

// app是Vue.createApp()创建的应用实例

app.use(ElPagination);

5.2.2  Pagination组件的用法

分页展示的通常是:数据总条数、每页展示数、上一页、下一页、首页、尾页、页码和跳转页码。下面将展示分页组件的用法。

【例5.17】基础用法

Pagination组件的使用非常简单,如果只需要展示页码、上一页和下一页,如图5.21所示。

 图5.21  pagination组件的基础展示

实现代码如下:

<el-pagination layout="prev, pager, next,jumper,sizes,total" :total="1000"></el-pagination>

其中layout用来指定分页元件的布局,即定义展示的分页元件及其展示顺序,元件定义如下:

  1. prev:上一页的按钮。
  2. pager:页码列表。
  3. next:下一页的按钮。
  4. jumper:跳转到。
  5. total:数据总条数。
  6. sizes:每页显示的数据条数/分页大小。
  7. ->:该元件将其右侧的元件包裹起来,整体靠右对齐。
  8. slot: 额外自定义内容插槽。

其中,各元件用逗号分隔。

layout的值的顺序决定了元件显示的位置,比如:

layout="total,prev, pager, next,->,jumper,sizes"

这个设置的分页组件元件将按照如图5.22所示的顺序布局。

图5.22  Pagination元件布局

可以看到,上述layout元件由“→”分隔成左右两边:

  1. 左边:数据总条数(total)→上一页(prev)→页码列表(pager)→下一页(next)。
  2. 右边:跳转到→jumper→分页大小sizes。

【例5.18】改变展示的页码数

默认展示的页码数是7,若超过则会折叠页码(以省略号展示),如果要改变默认展示的页码数,则可以在el-pagination标签上指定page-count属性,如展示11个页码数,效果如图5.23所示。

 图5.23  Pagination改变页码数

实现代码如下:

<el-pagination layout="prev, pager, next,jumper,total" :total="1000" :pager-count="11"></el-pagination>

【例5.19】带背景色的页码

在el-pagination上添加一个background属性,即可为每个页码添加背景色,效果如图5.24所示。

 图5.24  Pagination带背景色的页码效果

实现代码如下:

 <el-pagination layout="prev, pager, next,jumper,total" :total="1000" background ></el-pagination>

【例5.20】小型分页

如果空间有限或者小屏幕中使用分页组件,则可以通过配置small属性缩小分页组件的大小,实现代码如下:

<el-pagination small layout="prev, pager, next" :total="50"> </el-pagination>

【例5.21】只有一页时隐藏分页

页码只有一页时,显示页码会显得很单调,且页面不协调,此时隐藏起来会更好,只需在el-pagination上添加hide-on-single-page属性即可实现,实现代码如下:

<el-pagination layout="prev, pager, next,jumper,total" :total="1000"  hide-on-single-page></el-pagination>

【例5.22】改变每页展示的条数

默认每页展示10条数据,如果需要更改,则只需在el-pagination上添加page-size属性即可,其值是一个数字,如每页展示20条数据,实现代码如下:

<el-pagination layout="prev, pager, next" :total="1000" :page-size="20" ></el-pagination>

【例5.23】改变可选择的每页展示的条数

默认可选择的每页展示的条数是10,20,30,40,50,100,要改变的话,只需在el-pagination上添加page-sizes属性,值为一个数字数组。例如更改为展示100,200,300,默认每页展示10条,所以要指定每页展示的条数为100,实现代码如下:

<el-pagination layout="prev, pager, next" :total="1000" :page-sizes="[100,200,300]" ></el-pagination>

【例5.24】分页组件事件

分页组件的事件用得最多的就是当前页码切换事件(current-change)和每页显示条数变更事件(size-change)。current-change事件传入当前页码,可以根据当前页码向后台获取当前页码的数据。size-change事件传入的参数是当前每页显示的条数,可以根据当前每页显示的条数向后台获取当前页码的数据。实现代码如下:

<el-pagination

      v-model:currentPage="currentPage4"

      :page-sizes="[100, 200, 300, 400]"

      :page-size="100"

      layout="total, sizes, prev, pager, next, jumper"

      :total="400"

      @size-change="handleSizeChange"

      @current-change="handleCurrentChange"

    >

    </el-pagination>

定义size-change方法和current-change方法:

const handleSizeChange = (val: number) => {

  console.log(`${val} items per page`)

}

const handleCurrentChange = (val: number) => {

  console.log(`current page: ${val}`)

}

至此,常用的Pagination组件的属性和事件方法介绍完毕。接下来通过一个实例来应用这个组件。

-------------------------------------------

本文节选自《Vue 3.x+Element Plus前端开发实战》

本次内容发布,获得作者和出版社授权,供读者个人非商业目的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/490964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CV2NLP】Chinese-Vicuna 中文小羊驼

学习一个短语&#xff01; gain proficiency in 熟练掌握 &#xff08;用我最爱的文心一言造个句子&#xff09; 最近羊驼家族百花齐放&#xff0c;赶紧学习一下 ChatBot 的背后细节。Chinese-Vicuna 中文小羊驼是基于 Vicuna 模型使用中文数据 LORA 方案来微调的一种中文对…

数值分析-牛顿-柯特斯公式的概念、推导与应用

目录 一、引言 二、牛顿-柯特斯公式的基本概念 三、牛顿-柯特斯公式的推导 四、牛顿-柯特斯公式的应用 五、牛顿-柯特斯公式的优缺点 六、总结 一、引言 数值分析是数学中的一个重要分支&#xff0c;它研究如何利用数值方法来解决实际问题。在数值分析中&#xff0c;牛顿…

Redux 学习系列(一) —— 基础概念入门篇

简介 Redux 是一个可预测的 JavaScript 应用状态管理容器&#xff0c;也可以说是一个应用数据流框架。 作用 Redux 主要是用作应用状态的管理。它抽离所有组件的状态&#xff0c;构造一个中心化的单独常量状态树&#xff08;对象&#xff09;来保存这一整个应用的状态。这棵…

Java经典笔试题—day02

Java经典笔试题—day02 &#x1f50e;选择题&#x1f50e;编程题&#x1f95d;排序子序列&#x1f95d;倒置字符串 &#x1f50e;结尾 &#x1f50e;选择题 (1)A 派生出子类 B &#xff0c; B 派生出子类 C &#xff0c;并且在 java 源代码有如下声明&#xff1a; A a0new A(…

HTTPS协议介绍

文章目录 一、HTTPS协议的认识二、常见的加密方式1.对称加密2.非对称加密 三、数据摘要四、HTTPS的工作过程探究1.只使用对称加密2.只使用非对称加密3.双方都使用非对称加密4.非对称加密对称加密5.中间人攻击6.引入证书7.非对称加密对称加密证书认证 一、HTTPS协议的认识 HTTP…

【数据库】面试高频问题汇总及详细解答

【C语言部分】面试高频问题汇总及详细解答 【操作系统(Linux)】面试高频问题汇总及详细解答 【计算机网络】面试高频问题汇总及详细解答 本文目录 1. SQL1.1 介绍一下数据库分页1.2 介绍一下SQL中的聚合函数1.3 表跟表是怎么关联的1.4 说一说你对外连接的了解1.5 说说SQL中怎么…

VM虚拟机安装Ubuntu server 22.04网络问题

在使用vm虚拟机安装ubuntu server 22.04的时候会遇到一些网络问题&#xff0c;例如虚拟机内的Ubuntu不能上网&#xff0c;ping www.baidu.com不通&#xff0c;主机使用远程工具不能建立远程连接&#xff0c;Ubuntu ping本地主机不通&#xff0c;本地主机ping虚拟机也不通的问题…

vue3+vite项目优化。

最近开发的一个vue3vitets项目&#xff0c;build后发现体积过大&#xff0c;所以针对于项目体积进行一次优化。 一: 使用rollup-plugin-visualizer 可视化分析包 npm i rollup-plugin-visualizer -S 在vite.config.js中引入 在 plugins里面 然后执行npm run build就自动打开…

最新开源Chatgpt人工智能对话源码系统如何搭建?含详细安装教程分享和源码

人工智能对话系统市场需求正在不断增长。随着人们对智能化、自动化服务的需求不断提高&#xff0c;人工智能对话系统成为越来越多企业和组织的首选解决方案&#xff0c;可以有效提升用户体验、降低成本、提高效率。 一、Chatgpt人工智能对话源码系统定义 ChatGPT是一种基于深…

流量挂机赚钱项目Traffmonetizer

利用闲置电脑/服务器/安卓手机/树莓派来赚点电费 简介 Traffmonetizer是一个来自欧洲的流量挂机平台&#xff0c;类似Peer2profit&#xff0c;满10刀可提现(Paypal、BTC、Payoneer)&#xff0c;注册好像就送5刀&#xff0c;Traffmonetizer不怎么占用CPU和内存以及流量&#x…

初学容器化

1.docker build&#xff0c;ship&#xff0c;run&#xff0c;any app anywhere docker类似运输中的集装箱&#xff0c;可以装任何应用&#xff08;镜像文件&#xff09;&#xff0c;运行到各种服务器上。 docker提供的是进程上的隔离&#xff0c;虚拟机提供的是操作系统资源…

【五一创作】嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】

目录 前言 基本介绍 Sqlite 对比 MySQL 字段类型 语法 创建表 插入数据 更新数据 查询数据 删除数据 查看建表语句 Sqlite-JDBC 嵌入到Java程序 前言 最近在用JavaFX做一个桌面软件需要用到数据库&#xff0c;但MySQL这种数据库明显只能本地访问&#xff0c;把软…

JVM-0502

垃圾回收 概述 内存的自动分配 垃圾收集&#xff0c;不是J8Va语音的件生产物。早在1968年&#xff0c;第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题&#xff1a; 哪些内存需要回收&#xff1f;什么时候回收&#xff1f;&#xff08;…

双金属复合圆管层间高温接触热阻测试方法的分析和选择

摘要&#xff1a;双金属复合圆管因其优越的特性在越来越多的领域得到广泛应用&#xff0c;而其层间接触热阻是这种圆管作为换热管时的重要性能指标。本文针对这种双金属复合圆管层间接触热阻的测试需求&#xff0c;分析和对比了现有用于接触热阻测试的各种稳态和瞬态方法&#…

网络应用基础 ——(2023新星计划文章一)

一&#xff0c;网络的概念 1.1网络及其带来的好处 &#xff08;1&#xff09;计算机网络是指通过通信设备和通信线路将多台计算机连接起来&#xff0c;以便实现资源共享、信息传递和协同工作的技术和系统。计算机网络是现代信息技术的重要组成部分&#xff0c;已经深入到我们…

代码随想录算法训练营第三十一天 | 贪心1,想不到怎么找局部最优就做不出来

贪心算法理论基础 代码随想录 (programmercarl.com) 贪心算法理论基础&#xff01;_哔哩哔哩_bilibili 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 例如&#xff0c;有一堆钞票&#xff0c;你可以拿走十张&#xff0c;如果想达到最大的金额&#xff…

代码随想录刷题笔记3

文章目录 回溯细节模板题型组合分割子集排列棋盘问题N皇后问题解数独问题 其他 总结 回溯 本质上&#xff1a;穷举 剪枝。回溯法就是解决这种k层for循环嵌套的问题。 for循环横向遍历&#xff0c;递归纵向遍历&#xff0c;回溯不断调整结果集。 注意画出 解空间树-N叉树。 细…

无云服务器,Linux本地快速搭建web网站,并内网穿透发布上线(1)

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道&#xff0c;指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 转载自cpolar文章&#xff1a;Linux CentOS本地搭建…

【QT】 Qt高级——Qt自定义标题栏

【QT】 Qt高级——Qt自定义标题栏 一、Qt自定义标题栏简介 QWidget及其子类窗体组件的标题栏受操作系统的控制&#xff0c;即标题栏的界面风格与操作系统的主题风格相同&#xff0c;工程实践中需要开发者自行定义&#xff0c;达到美化应用程序界面的目的。 二、Qt自定义标题…

每日学术速递5.1

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Putting People in Their Place: Affordance-Aware Human Insertion into Scenes 标题&#xff1a;把人放在他们的位置&#xff1a;可供感知的人类插入场景 作者&#xff1a;Sumit…