el-pagination 动态切换每页条数、页数切换

news/2024/5/21 1:02:35/文章来源:https://blog.csdn.net/weixin_43319713/article/details/128426448

目录

业务场景

官方链接

实现效果

使用框架

代码展示

template代码

script代码

变量定义

事件定义

        handleSizeChange事件--实现每页条数改变表格动态变化

        handleCurrentChange事件--切换页码

        css代码

完整代码

总结


业务场景

当表格中的数据量如果非常庞大的时候我们不可能让数据整个全部一下展示出来,导致用户需要无限的往下滚动鼠标,给用户造成不清楚到底有多少数据的一个现象,让用户产生看不到头的焦躁心理。这时候我们可以借助分页器去实现数据的分页效果,根据页数和每页条数去实现真分页。

这个在项目中是经常使用到的一种场景,今天我来分享分享我们具体的实现和需要注意的一些点

官方链接

Pagination 分页:Pagination 分页 | Element Plus

实现效果

这篇博客要实现的是课程和班级的一个绑定关系,当页面加载之后给课程和班级下拉框一个默认值,通过切换课程班级下拉框中的选项之后班级下拉框中的选项也随之变换成,当前选中课程下的所有班级名

使用框架

Vue3+element-plus(1.2.0-beta.5)

代码展示

说明:在本篇博客中我重点分享分页器的时候,关于el-table表格可以参考这篇博客:el-table 列的动态显示与隐藏_吃豆子的恐龙的博客-CSDN博客

template代码

<!-- 分页器 -->
<div class="demo-pagination-block"><span class="demo-pagination-block allTotal">共{{ total }}条</span><el-config-provider :locale="locale"><el-pagination:total="total"v-model:current-page="currentPage"v-model:page-size="pageSize":page-sizes="[30, 50, 100]":small="small":disabled="disabled":background="background"layout="sizes, prev, pager, next"@size-change="handleSizeChange"@current-change="handleCurrentChange"/></el-config-provider>
</div>

script代码

变量定义

var total = ref(0); //总条数// 当前页数
const currentPage = ref(1);//每页显示条目个数
const pageSize = ref(30);//是否使用小型分页样式
const small = ref(false);//是否为分页按钮添加背景色
const background = ref(false);//是否禁用分页
const disabled = ref(false);

事件定义

handleSizeChange事件--实现每页条数改变表格动态变化

//每页显示条数改变
const handleSizeChange = (val) => {searchContent.value = "";pageSize.value = val;currentPage.value = currentPage.value;    
};

handleCurrentChange事件--切换页码

 //当前页变动const handleCurrentChange = (val) => {pageSize.value = pageSize.value;currentPage.value = val;studentData(classID.value, courseID.value, currentPage.value, pageSize.value);};

css代码

.demo-pagination-block {display: inline-block;position: relative;
}.allTotal {position: absolute;left: -4em;top: 7px;color: #606266;font-size: 14px;
}

完整代码

<template><!-- 分页器 --><div class="demo-pagination-block"><span class="demo-pagination-block allTotal">共{{ total }}条</span><el-config-provider :locale="locale"><el-pagination:total="total"v-model:current-page="currentPage"v-model:page-size="pageSize":page-sizes="[30, 50, 100]":small="small":disabled="disabled":background="background"layout="sizes, prev, pager, next"@size-change="handleSizeChange"@current-change="handleCurrentChange"/></el-config-provider></div>
</template><script>
import { reactive, ref, onMounted } from "vue";export default {components: {},setup() {//总条数var total = ref(0); // 当前页数const currentPage = ref(1);//每页显示条目个数const pageSize = ref(30);//是否使用小型分页样式const small = ref(false);//是否为分页按钮添加背景色const background = ref(false);//是否禁用分页const disabled = ref(false);//每页显示条数改变const handleSizeChange = (val) => {searchContent.value = "";pageSize.value = val;currentPage.value = currentPage.value;    };//当前页变动const handleCurrentChange = (val) => {pageSize.value = pageSize.value;currentPage.value = val;studentData(classID.value, courseID.value, currentPage.value, pageSize.value);};return {total,currentPage,pageSize,small,background,disabled,handleSizeChange,handleCurrentChange,};},
};
</script><style>.demo-pagination-block {display: inline-block;position: relative;}.allTotal {position: absolute;left: -4em;top: 7px;color: #606266;font-size: 14px;
}</style>

关于当前页面的实现可以参考如下博客:

el-table:el-table 列的动态显示与隐藏_吃豆子的恐龙的博客-CSDN博客

el-Dropdown:http://t.csdn.cn/jFp2f

总结

多看官方文档,我们遇到的很多问题其实文档中都有详细说明。

如果有想要交流的内容欢迎在评论区进行留言,如果这篇文档受到了您的喜欢那就留下你点赞收藏脚印支持一下博主~

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2022-忙碌的一年

&#xff08;点击即可听音频&#xff09;前言花有重开日,人无再少年.每当这个时候,回头驻足,不是感慨万千,就是惜时如金,一年悄无声息的从指尖划过,星海横流,岁月如碑.那些被偷走的时光,发生了大大小小的事无论是平淡无奇,还是历久难忘,有惊喜,有遗憾,终将都会隐入尘烟。大到国…

【Vant相关知识】

目录 1 什么是Vant 2 Vant的优势 3 Vant特性 4 第一个Vant程序 4.1 创建Vue项目 4.2 安装Vant支持 4.3 添加Vant引用 5 按钮组件 6 表单页面 7 area省市区选择 8 商品列表 1 什么是Vant Vant是一个轻量&#xff0c;可靠的移动端组件库&#xff0c;2017开源 目前 Va…

力扣(LeetCode)200. 岛屿数量(C++)

深度优先遍历 求连通块数量。可以遍历所有格子&#xff0c;当格子是岛屿&#xff0c;对岛屿深度优先遍历&#xff0c;找到整个岛&#xff0c;并且将遍历的岛屿标记&#xff0c;以免重复遍历&#xff0c;或递归死循环。标记可以使用状态数组&#xff0c;也可以修改格子的值。本…

【源码共读】Css-In-Js 的实现 classNames 库

classNames是一个简单的且实用的JavaScript应用程序&#xff0c;可以有条件的将多个类名组合在一起。它是一个非常有用的工具&#xff0c;可以用来动态的添加或者删除类名。 仓库地址&#xff1a;classNames 使用 根据classNames的README&#xff0c;可以发现库的作者对这个…

我国牛血清行业现状:FBS是最常用血清添加剂 但目前市场亟需规范化

根据观研报告网发布的《中国牛血清行业现状深度研究与投资前景分析报告&#xff08;2022-2029年&#xff09;》显示&#xff0c;牛血清是血清的一种&#xff0c;是一种浅黄色澄清、无溶血、无异物稍粘稠液体&#xff0c;内含有各种血浆蛋白、多肽、脂肪、碳水化合物、生长因子、…

Unity下如何实现RTMP或RTSP流播放和录制

技术背景 在探讨Unity平台RTMP或RTSP直播流数据播放和录制之前&#xff0c;我们先简单回顾下RTSP或RTMP直播流数据在Unity平台的播放流程&#xff1a; 通过Native RTSP或RTSP直播播放SDK回调RGB/YUV420/NV12等其中的一种未压缩的图像格式&#xff1b;Unity下创建相应的RGB/YU…

c# winform 重启自己 简单实现

1.情景 有些时候&#xff0c;系统会出问题&#xff0c;问题原因很难排除&#xff0c;但是重启问题就能修正&#xff0c;这时候我们就需要在一个检测到问题的时机&#xff0c;让系统进行一次重启。 2.代码 using System; using System.Windows.Forms;namespace 程序重启自己 …

IDEA创建kotlin项目

今天新建了一个kotlin项目&#xff0c;竟然不能导入jar包&#xff0c;原因是新建项目的时候&#xff0c;选择了kotlin作为Gradle的开发语音&#xff0c;kotlin语音里面&#xff0c;下面这行配置识别不了&#xff1a; implementation fileTree(dir: libs, include: [*.jar])所以…

Selenium 常用函数总结

Seleninum作为自动化测试的工具&#xff0c;自然是提供了很多自动化操作的函数&#xff0c; 下面列举下个人觉得比较常用的函数&#xff0c;更多可见官方文档&#xff1a; 官方API文档&#xff1a; http://seleniumhq.github.io/selenium/docs/api/py/api.html 1) 定位元素 f…

Fragment

Fragment简单认识 1.简介 在大屏幕设备上支持更加动态和灵活的UI设计就是一种卡片的设计思路一个Activity可以有多个Fragment&#xff0c;一个Fragment可以被多个Activity使用可以进行动态的添加&#xff0c;替换和删除Fragment有着自己的生命周期&#xff0c;同时受到Activity…

Shiro之授权

授权 1、角色认证 在controller层创建接口 使用shiro中的注解RequiresRoles指定能访问的角色名称 /*** 登录认证角色*/ RequiresRoles("admin") GetMapping("/userLoginRoles") ResponseBody public String userLoginRoles(){System.out.println("…

微信键盘终于正式发布,张小龙说:其目的并不是为了抢夺输入法市场

自从2021年1月份&#xff0c;张小龙在微信公开课透露&#xff1a;微信将上线属于自己的专属输入法&#xff0c;到现在已经快2年过了。 今天终于正式发布了&#xff0c;下面我们一起来体验下。 1、安装 打开App Store&#xff0c;输入“微信键盘”&#xff0c;点击获取就可以…

基于Springboot+Mybatis+mysql+element-vue高校就业管理系统

基于SpringbootMybatismysqlelement-vue高校就业管理系统一、系统介绍二、功能展示1.用户登陆注册2.个人信息(学生端)3.查看企业岗位信息&#xff08;学生端&#xff09;4.我的应聘(学生端)5.学生信息管理&#xff08;辅导员&#xff09;6.三方协议书审核&#xff08;辅导员&am…

一文读懂Linux内核处理器架构中的栈

栈是什么&#xff1f;栈有什么作用&#xff1f; 首先&#xff0c;栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out)&#xff0c;数据只能在串列的一端 (称为&#xff1a;栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据…

自学编程和计算机科班出身的差别在哪里

前不久逛知乎的时候看到一个问题&#xff1a;自学编程和计算机科班出身的差别在哪里&#xff1f; 自己回答了一下&#xff0c;获得了比较多的点赞和评论&#xff0c;在这里也分享给大家。 985 通信专业学长&#xff0c;转行程序员&#xff0c;聊一聊我的看法&#xff1a;说一千…

YOLOV3论文学习

YOLOv3论文链接&#xff1a;https://pjreddie.com/media/files/papers/YOLOv3.pdf 综述 一、摘要 1、320*320的YOLOv3推理时间22ms&#xff0c;准确率28.2mAP&#xff0c;达到了SSD的精确度&#xff0c;推理速度却快了三倍。 2、基于.5mAp Iou 的YOLOv3的检测效果还比较不错&a…

Doo Prime 为泰国 SOS 儿童村送温暖,公益有起点爱心无疆界

一年一度的圣诞节即将来临&#xff0c;在这欢乐的时刻&#xff0c; Doo Prime 荣幸地宣布 &#xff0c;向泰国 SOS 儿童村捐赠了 35 万泰铢 ( 约合 1.23 万美元 )&#xff0c;作为泰国南部城市合艾府 SOS 儿童村的房屋翻修费用。 Doo Prime 希望 SOS 儿童村的孩子们都能在温馨…

Android入门第55天-在Android里使用OKHttp组件访问网络资源

简介 今天的课程开始进入高级课程类了&#xff0c;我们要开始接触网络协议、设备等领域编程了。在今天的课程里我们会使用OKHttp组件来访问网络资源而不是使用Android自带的URLConnection。一个是OKHttp组件更方便二个是OKHttp组件本身就带有异步回调功能。 下面就进入课程。…

(Java)车厢重组

车厢重组一、题目描述二、输入格式三、输出格式四、样例&#xff08;1&#xff09;样例输入&#xff08;2&#xff09;样例输出五、正确代码六、思路一、题目描述 在一个旧式的火车站旁边有一座桥&#xff0c;其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最…

Fragment案例

Fragment案例 1.案例要求 框架布局项目难点&#xff1a;1 导航栏的实现&#xff0c;显示导航按钮、切换Fragment 2 每个Fragment的创建、显示 3 Fragment的跳转&#xff08;从新闻列表到新闻详情&#xff0c;再返回&#xff09; 涉及的技术&#xff1a;用RadioGroup及RadioButt…