element-ui table 前端分页

ops/2024/10/22 0:32:09/

直接上代码吧。

<el-tableref="customerListTable"border:data="dataSource2"v-loading="loading":row-style="{ height: '55px' }"header-cell-class-name="table-header"row-class-name="table-row"style="width: 100%"><el-table-column type="index" label="#" align="center" width="40" /><el-table-columnalign="center"label="平台代码"prop="spareCode"width="180px"/><el-table-column align="center" label="操作" fixed="right" width="50"><template slot-scope="scope"><a @click="handleDelete(scope.row)"> 删除 </a></template></el-table-column></el-table><!-- 分页 --><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="page.currentPage":page-sizes="[10, 20, 50, 100]":page-size="page.pageSize":total="dataTotal.length"layout="total, sizes, prev, pager, next, jumper"></el-pagination>

JS

data:{return {dataSource2: [], //页面显示数据dataTotal: [], //总数据page: {total: 0, // 总页数currentPage: 1, // 当前页数pageSize: 10, // 每页显示多少条},}}
// 分页计算pagingOperation() {var keyValue = 0;//这里需要注意一下全部数据和你页面上的数据是同一个数据,只不过页面显示的是我们处理成10条数据var data = this.dataTotal; //全部数据for (var i = 0; i < data.length; i++) {keyValue = keyValue + 1;let key = { key: keyValue };data[i] = Object.assign(data[i], key);}var start =this.page.pageSize * this.page.currentPage - this.page.pageSize;var end = this.page.pageSize * this.page.currentPage;this.dataSource2 = data.slice(start, end);},// 每页条数改变函数handleSizeChange(val) {this.page.pageSize = val;this.pagingOperation();},//当前页改变函数handleCurrentChange(val) {this.page.currentPage = val;this.pagingOperation();},

这里有个删除逻辑(你可以用可不用);
1,删除逻辑要考虑到当页码为第二页,总数据为11条,这时你删除第二页的第一条后,页面应该回到第一页,然后数据为10条。

handleDelete(record) {// 更新数据源this.dataSource2 = this.filterItems(this.dataSource2, record);this.dataTotal = this.filterItems(this.dataTotal, record);// 计算当前页面的数据总数const totalItems = this.dataSource2.length;//   currentPage: 1, // 当前页数 pageSize: 10, // 每页显示多少条// 检查当前页是否还有数据if (totalItems < this.page.currentPage * this.page.pageSize &&this.page.currentPage > 1) {// 如果当前页没有数据且不是第一页,调整到上一页this.page.currentPage--;}//再次调用分页操作this.pagingOperation();this.$forceUpdate();},

当然这里面只是个人理解,如果你用到这段代码 然后有更好的实现方式 恳请留言。或者直接附上代码,我做更新 以便后续遇到直接使用;感谢!


http://www.ppmy.cn/ops/127419.html

相关文章

架构设计笔记-17-通信系统架构设计理论及实践

目录 知识要点 案例分析 1.数据中心架构的技术 论文 1.论网络安全体系设计 知识要点 开放系统的存储方式主要有&#xff1a; 1. 直连式存储&#xff08;Direct-Attached Storage&#xff0c;DAS&#xff09;&#xff1a;在服务器上外挂一组大容量硬盘&#xff0c;存储设…

Spring Boot 核心理解-嵌入式服务器

在 Spring Boot 中&#xff0c;嵌入式服务器&#xff08;如 Tomcat、Jetty 等&#xff09;是应用的一个重要特性。它允许 Spring Boot 应用以自包含的方式运行&#xff0c;而无需依赖外部的应用服务器。了解嵌入式服务器的原理、如何定制它们&#xff0c;以及在需要时如何替换服…

在 ASP.NET Core 6/NET 8.0 如何添加 Startup.cs

目录 如何添加Startup.cs文件 我们还能做什么&#xff1f; 我的项目做法参考 如何添加Startup.cs文件 使用 ASP.NET Core 6.0项目&#xff0c;您将找不到Startup.cs文件。默认情况下&#xff0c;此文件将被删除&#xff0c;并且是将注册依赖项和中间件放到了Program.cs中。但…

Element Ui el-table列表中的tooltip内容过长超出屏幕换行显示

elementui-table组件列表中的tooltip内容过长超出屏幕换行显示内容,虽然el-table列属性中带的有show-overflow-tooltip&#xff0c;可以设置内容超出列宽度显示为…&#xff0c;且有tooltip提示全部内容&#xff0c;但是内容过多时&#xff0c;提示会超出屏幕&#xff1a; 只有…

后裔采集器的安装与使用

一、后裔采集器是什么 ‌‌ 后羿采集器是一款由原谷歌技术团队研发的智能网页数据采集软件。通俗讲就是一款采集数据的软件。 二、下载链接 后羿采集器_真免费&#xff01;导出无限制网络爬虫软件_人工智能数据采集软件后羿采集器是由前谷歌搜索技术团队基于人工智能…

2024年华为OD机试真题-空栈压数-Java-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述: 向一个空栈压入…

探索桂林:使用SpringBoot构建的旅游平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理桂林旅游景点导游平台的相关信息成为必然。…

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式&#xff0c;在现在基础上传带宽能有100兆的时代&#xff0c;有公网代表着家里有一个小服务器&#xff0c;像百度网盘&#xff0c;优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip&#xff0c;要么自己买个云服务器做内网穿…