当前位置: 首页 > news >正文

前端分页处理

页面中实现的分页效果,要么后端提供接口,每次点击下一页就调用接口,若不提供接口,分页得前端自己去截取。

 

方法一:slice方法
slice(参数1,参数2)方法是返回一个新的数组对象,左开右闭
参数1:起始下标数
参数2:结束下标数(不计算在内)
如data:[1,2,3,4,5,6,7,8],那么data.slice(0,3)就为下标为0,1,2,不包括下标为3的数,即[1,2,3],可以看成数学中的[0,3)

slice方法详细讲解

这个原理就和分页原理很相似,分页也是把一个很长的数组,按照每页多少条(size)分为若干个短数组

 //allData为全部数据,tableData是目前表格绑定的数据
    (this.page - 1) * this.size,
        this.page * this.size
      );
      this.total=this.allData.length


下面是详细代码:


比如:data=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
总条目数total=20,
若设size=3(每页3条)

 

 
方法二:splice方法
splice方法可以理解为删除,与方法一的slice只差一个p字母
用splice分页,需要用到的有2个参数,
splice(参数1,参数2)
参数1:从第几位开始
参数2:删除几个元素
如data:[1,2,3,4,5,6,7,8],那么data.splice(0,3)就是从第0位开始,删除3个元素,即删除的元素为[1,2,3],剩余元素为data:[4,5,6,7,8],此方法会改变原数组

splice方法详细讲解

这个原理要和分页原理结合关联起来,如果一页3条数据,第一页就是从0位开始,删除的3个元素,即splice(0,3),第二页就是从第3位开始,删除的3个元素,即splice(3,3)
因此用splice分页的关键语句就是:

      let data=JSON.parse(JSON.stringify(this.allData))
      this.tableData = data.splice(
        (this.page - 1) * this.size,
        this.size
      );
      this.total=this.allData.length

注意:splice会改变原数组,因为它使用一次,相当于原数组就被删除了一些元素,必须使用深拷贝先拷贝一份allData,然后再取被删除的元素赋值给tableData 。

其余代码不变,只是略微改变处理完整数据的方法

比如:
data=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
由于深拷贝的原因,data可以等于完整的allData,
总条目数total=20,
若设size=3(每页3条)

两种方法的总结

最后完整代码如下:

 

  1. <template>
  2. <div>
  3. <el-table :data="tableData" border>
  4. <el-table-column label="序号" type="index" width="50">
  5. </el-table-column>
  6. <el-table-column prop="date" label="日期" width="180">
  7. </el-table-column>
  8. <el-table-column prop="name" label="姓名" width="180">
  9. </el-table-column>
  10. <el-table-column prop="address" label="地址">
  11. </el-table-column>
  12. </el-table>
  13. <el-pagination @size-change="sizeChange" @current-change="currentChange"
  14. :current-page="page" :page-size="size" :page-sizes="pageSizes"
  15. layout="total, sizes, prev, pager, next, jumper" :total="total">
  16. </el-pagination>
  17. </div>
  18. </template>
  19. <script>
  20. export default {
  21. data() {
  22. return {
  23. page: 1, //第几页
  24. size: 3, //一页多少条
  25. total: 0, //总条目数
  26. pageSizes: [3, 5, 10, 20, 50, 100, 200, 300, 400, 500, 1000], //可选择的一页多少条
  27. tableData: [], //表格绑定的数据
  28. allData: [
  29. {
  30. date: "2016-05-02",
  31. name: "王小虎1",
  32. address: "上海市普陀区金沙江路 1518 弄",
  33. },
  34. {
  35. date: "2016-05-04",
  36. name: "王小虎2",
  37. address: "上海市普陀区金沙江路 1517 弄",
  38. },
  39. {
  40. date: "2016-05-01",
  41. name: "王小虎3",
  42. address: "上海市普陀区金沙江路 1519 弄",
  43. },
  44. {
  45. date: "2016-05-03",
  46. name: "王小虎4",
  47. address: "上海市普陀区金沙江路 1516 弄",
  48. },
  49. {
  50. date: "2016-05-02",
  51. name: "王小虎5",
  52. address: "上海市普陀区金沙江路 1518 弄",
  53. },
  54. {
  55. date: "2016-05-04",
  56. name: "王小虎6",
  57. address: "上海市普陀区金沙江路 1517 弄",
  58. },
  59. {
  60. date: "2016-05-01",
  61. name: "王小虎7",
  62. address: "上海市普陀区金沙江路 1519 弄",
  63. },
  64. {
  65. date: "2016-05-03",
  66. name: "王小虎8",
  67. address: "上海市普陀区金沙江路 1516 弄",
  68. },
  69. {
  70. date: "2016-05-02",
  71. name: "王小虎9",
  72. address: "上海市普陀区金沙江路 1518 弄",
  73. },
  74. {
  75. date: "2016-05-04",
  76. name: "王小虎10",
  77. address: "上海市普陀区金沙江路 1517 弄",
  78. },
  79. {
  80. date: "2016-05-01",
  81. name: "王小虎11",
  82. address: "上海市普陀区金沙江路 1519 弄",
  83. },
  84. {
  85. date: "2016-05-03",
  86. name: "王小虎12",
  87. address: "上海市普陀区金沙江路 1516 弄",
  88. },
  89. {
  90. date: "2016-05-02",
  91. name: "王小虎13",
  92. address: "上海市普陀区金沙江路 1518 弄",
  93. },
  94. {
  95. date: "2016-05-04",
  96. name: "王小虎14",
  97. address: "上海市普陀区金沙江路 1517 弄",
  98. },
  99. {
  100. date: "2016-05-01",
  101. name: "王小虎15",
  102. address: "上海市普陀区金沙江路 1519 弄",
  103. },
  104. {
  105. date: "2016-05-03",
  106. name: "王小虎16",
  107. address: "上海市普陀区金沙江路 1516 弄",
  108. },
  109. {
  110. date: "2016-05-02",
  111. name: "王小虎17",
  112. address: "上海市普陀区金沙江路 1518 弄",
  113. },
  114. {
  115. date: "2016-05-04",
  116. name: "王小虎18",
  117. address: "上海市普陀区金沙江路 1517 弄",
  118. },
  119. {
  120. date: "2016-05-01",
  121. name: "王小虎19",
  122. address: "上海市普陀区金沙江路 1519 弄",
  123. },
  124. {
  125. date: "2016-05-03",
  126. name: "王小虎20",
  127. address: "上海市普陀区金沙江路 1516 弄",
  128. },
  129. {
  130. date: "2016-05-02",
  131. name: "王小虎21",
  132. address: "上海市普陀区金沙江路 1518 弄",
  133. },
  134. {
  135. date: "2016-05-04",
  136. name: "王小虎22",
  137. address: "上海市普陀区金沙江路 1517 弄",
  138. },
  139. {
  140. date: "2016-05-01",
  141. name: "王小虎23",
  142. address: "上海市普陀区金沙江路 1519 弄",
  143. },
  144. {
  145. date: "2016-05-03",
  146. name: "王小虎24",
  147. address: "上海市普陀区金沙江路 1516 弄",
  148. },
  149. {
  150. date: "2016-05-02",
  151. name: "王小虎25",
  152. address: "上海市普陀区金沙江路 1518 弄",
  153. },
  154. {
  155. date: "2016-05-04",
  156. name: "王小虎26",
  157. address: "上海市普陀区金沙江路 1517 弄",
  158. },
  159. {
  160. date: "2016-05-01",
  161. name: "王小虎27",
  162. address: "上海市普陀区金沙江路 1519 弄",
  163. },
  164. {
  165. date: "2016-05-03",
  166. name: "王小虎28",
  167. address: "上海市普陀区金沙江路 1516 弄",
  168. },
  169. {
  170. date: "2016-05-02",
  171. name: "王小虎29",
  172. address: "上海市普陀区金沙江路 1518 弄",
  173. },
  174. {
  175. date: "2016-05-04",
  176. name: "王小虎30",
  177. address: "上海市普陀区金沙江路 1517 弄",
  178. },
  179. {
  180. date: "2016-05-01",
  181. name: "王小虎31",
  182. address: "上海市普陀区金沙江路 1519 弄",
  183. },
  184. {
  185. date: "2016-05-03",
  186. name: "王小虎32",
  187. address: "上海市普陀区金沙江路 1516 弄",
  188. },
  189. {
  190. date: "2016-05-02",
  191. name: "王小虎33",
  192. address: "上海市普陀区金沙江路 1518 弄",
  193. },
  194. {
  195. date: "2016-05-04",
  196. name: "王小虎34",
  197. address: "上海市普陀区金沙江路 1517 弄",
  198. },
  199. {
  200. date: "2016-05-01",
  201. name: "王小虎35",
  202. address: "上海市普陀区金沙江路 1519 弄",
  203. },
  204. {
  205. date: "2016-05-03",
  206. name: "王小虎36",
  207. address: "上海市普陀区金沙江路 1516 弄",
  208. },
  209. {
  210. date: "2016-05-02",
  211. name: "王小虎37",
  212. address: "上海市普陀区金沙江路 1518 弄",
  213. },
  214. {
  215. date: "2016-05-04",
  216. name: "王小虎38",
  217. address: "上海市普陀区金沙江路 1517 弄",
  218. },
  219. {
  220. date: "2016-05-01",
  221. name: "王小虎39",
  222. address: "上海市普陀区金沙江路 1519 弄",
  223. },
  224. {
  225. date: "2016-05-03",
  226. name: "王小虎40",
  227. address: "上海市普陀区金沙江路 1516 弄",
  228. },
  229. {
  230. date: "2016-05-02",
  231. name: "王小虎41",
  232. address: "上海市普陀区金沙江路 1518 弄",
  233. },
  234. {
  235. date: "2016-05-04",
  236. name: "王小虎42",
  237. address: "上海市普陀区金沙江路 1517 弄",
  238. },
  239. {
  240. date: "2016-05-01",
  241. name: "王小虎43",
  242. address: "上海市普陀区金沙江路 1519 弄",
  243. },
  244. {
  245. date: "2016-05-03",
  246. name: "王小虎44",
  247. address: "上海市普陀区金沙江路 1516 弄",
  248. },
  249. {
  250. date: "2016-05-02",
  251. name: "王小虎45",
  252. address: "上海市普陀区金沙江路 1518 弄",
  253. },
  254. {
  255. date: "2016-05-04",
  256. name: "王小虎46",
  257. address: "上海市普陀区金沙江路 1517 弄",
  258. },
  259. {
  260. date: "2016-05-01",
  261. name: "王小虎47",
  262. address: "上海市普陀区金沙江路 1519 弄",
  263. },
  264. {
  265. date: "2016-05-03",
  266. name: "王小虎48",
  267. address: "上海市普陀区金沙江路 1516 弄",
  268. },
  269. {
  270. date: "2016-05-02",
  271. name: "王小虎49",
  272. address: "上海市普陀区金沙江路 1518 弄",
  273. },
  274. {
  275. date: "2016-05-04",
  276. name: "王小虎50",
  277. address: "上海市普陀区金沙江路 1517 弄",
  278. },
  279. {
  280. date: "2016-05-01",
  281. name: "王小虎51",
  282. address: "上海市普陀区金沙江路 1519 弄",
  283. },
  284. {
  285. date: "2016-05-03",
  286. name: "王小虎52",
  287. address: "上海市普陀区金沙江路 1516 弄",
  288. },
  289. ],
  290. };
  291. },
  292. methods: {
  293. //获取表格数据,自行分页(slice)
  294. getTabelData() {
  295. //allData为全部数据
  296. this.tableData = this.allData.slice(
  297. (this.page - 1) * this.size,
  298. this.page * this.size
  299. );
  300. this.total=this.allData.length
  301. },
  302. //获取表格数据,自行分页(splice)
  303. getTabelData2() {
  304. let data=JSON.parse(JSON.stringify(this.allData))
  305. this.tableData = data.splice(
  306. (this.page - 1) * this.size,
  307. this.size
  308. );
  309. this.total=this.allData.length
  310. },
  311. //page改变时的回调函数,参数为当前页码
  312. currentChange(val) {
  313. console.log("翻页,当前为第几页", val);
  314. this.page = val;
  315. this.getTabelData2();
  316. },
  317. //size改变时回调的函数,参数为当前的size
  318. sizeChange(val) {
  319. console.log("改变每页多少条,当前一页多少条数据", val);
  320. this.size = val;
  321. this.page = 1;
  322. this.getTabelData2();
  323. },
  324. },
  325. created() {
  326. this.getTabelData2();
  327. },
  328. };
  329. </script>

相关文章:

前端分页处理

页面中实现的分页效果&#xff0c;要么后端提供接口&#xff0c;每次点击下一页就调用接口&#xff0c;若不提供接口&#xff0c;分页得前端自己去截取。 方法一&#xff1a;slice方法 slice(参数1&#xff0c;参数2)方法是返回一个新的数组对象&#xff0c;左开右闭 参数1&…...

【C语言】位操作符的一些题目与技巧

初学者在学完位操作符之后&#xff0c;总是不能很好的掌握&#xff0c;因此这篇文章旨在巩固对位操作符的理解与使用。 有的题目可能会比较难以接受&#xff0c;但是看完一定会有收获 目录 位操作符&#xff1a;一些题目&#xff1a;不创建临时变量交换整数整数转换二进制中1的…...

爬虫逆向实战(二十二)--某恩数据电影票房

一、数据接口分析 主页地址&#xff1a;某恩数据 1、抓包 通过抓包可以发现数据接口是API/GetData.ashx 2、判断是否有加密参数 请求参数是否加密&#xff1f; 无请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 通过查看“响应”模块可以发现&#xff0c;响应是…...

火山引擎发布自研视频编解码芯片

2023年8月22日&#xff0c;火山引擎视频云宣布其自研的视频编解码芯片已成功出片。经验证&#xff0c;该芯片的视频压缩效率相比行业主流硬件编码器可提升30%以上&#xff0c;未来将服务于抖音、西瓜视频等视频业务&#xff0c;并将通过火山引擎视频云开放给企业客户。 火山引…...

投递技术类简历的注意事项

简历修改的背景 作为程序员&#xff0c;随着工作年限的增加&#xff0c;要定期的去修改自己的简历中的工作项目&#xff0c;一方面可以促进自己复盘一下工作成果和个人成长&#xff0c;另外也能给自己换工作提供一个前置的便捷性。 注意事项 修改简历的时候有哪些需要注意的…...

每日一题——柱状图中最大的矩形

柱状图中最大的矩形 题目链接 用什么数据结构&#xff1f; 要得到柱状图中最大的矩形&#xff0c;我们就必须要知道对于每一个高度heights[i]&#xff0c;他所能勾勒出的矩形最大是多少&#xff08;即宽度最大是多少&#xff09;。 而对应到图上我们可以知道&#xff0c;要知…...

Banana Pi推出基于龙芯2K1000LA处理器的信创工业控制开发平台

Banana Pi推出基于龙芯2K1000LA处理器的信创工业控制开发平台&#xff1a;BPI-5202信创工业控制开发平台 BPI-5202 龙芯2K1000LA 信创工业控制开发平台 1.1 工控机的应用场景 物联网的狂潮&#xff0c;既是一场众多的计算机软硬件厂家&#xff08;也包括通讯方案和产品厂家&…...

springCloud整合Zookeeper的时候调用找不到服务

SpringCloud整合Zookeeper的时候调用找不到服务 首先&#xff0c;我们在注册中心注册了这个服务&#xff1a; 然后我们使用RestTemplate 调用的时候发现失败了&#xff1a;找不到这个服务&#xff1a; 找了很多资料发现这个必须要加上负载才行 BeanLoadBalanced //负载publi…...

【kubernetes】使用kubepshere部署中间件服务

KubeSphere部署中间件服务 入门使用KubeSphere部署单机版MySQL、Redis、RabbitMQ 记录一下搭建过程 (内容学习于尚硅谷云原生课程) 环境准备 VMware虚拟机k8s集群&#xff0c;一主两从&#xff0c;master也作为工作节点&#xff1b;KubeSphere k8skubesphere devops比较占用磁…...

如何从tabbar页面传数据

无论是百度小程序还是微信小程序&#xff0c;app.json中规定的tabbar页面是不支持传参的&#xff0c;例如&#xff1a; <navigator url../service/service?typeid6 openType"switchTab"> 服务项目 </navigator> 上面的navigater跳转有个属性&#…...

软考高级系统架构设计师系列论文七十四:基于构件的软件开发

软考高级系统架构设计师系列论文七十四:基于构件的软件开发 一、构件相关知识点二、摘要三、正文四、总结一、构件相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构...

图为科技_边缘计算在智能安防领域的作用

边缘计算在智能安防领域发挥着重要的作用。智能安防系统通常需要处理大量的图像、视频和传感器数据&#xff0c;并对其进行实时分析和处理。边缘计算可以将计算和数据处理功能移动到离数据源更接近的地方&#xff0c;例如摄像头、传感器设备或安防终端。 以下是边缘计算在智能…...

Android 13 - Media框架(7)- NuPlayer::Source

Source 在播放器中起着拉流&#xff08;Streaming&#xff09;和解复用&#xff08;demux&#xff09;的作用&#xff0c;Source 设计的好坏直接影响到播放器的基础功能&#xff0c;我们这一节将会了解 NuPlayer 中的通用 Source&#xff08;GenericSource&#xff09;关注本地…...

MySql015——使用子查询

一、创建customers表 ######################## # Create customers table ######################## use study;CREATE TABLE customers (cust_id int NOT NULL AUTO_INCREMENT,cust_name char(50) NOT NULL ,cust_address char(50) NULL ,cust_city char…...

leetcode 355 设计推特

用链表存储用户发送的每一个推特&#xff0c;用堆获取最先的10条动态 class Twitter {Map<Integer,Set<Integer>> followMap;//规定最新的放到最后Map<Integer,Tweet> postMap;//优先队列(堆&#xff09;PriorityQueue<Tweet> priorityQueue;int time…...

倒数 2 周|期待 2023 Google开发者大会

9 月 6-7 日&#xff0c;中国上海 前沿科技&#xff0c;新知同享 趣味体验&#xff0c;灵感齐聚 技术生态&#xff0c;多元共进 关注官网最新信息&#xff0c;敬请期待大会开幕 2023 Google 开发者大会官网 相信你一定记得&#xff0c;在今年 5 月的 Google I/O 大会上&am…...

代码随想录day57

516最长回文子序列 class Solution { public:int longestPalindromeSubseq(string s) {vector<vector<int>>dp(s.size(),vector<int>(s.size(),0));for(int i0;i<s.size();i)dp[i][i]1;for(int is.size()-1;i>0;i--){for(int ji1;j<s.size();j){if…...

YOLOv5、v8改进:CrissCrossAttention注意力机制

目录 1.简介 2. yolov5添加方法&#xff1a; 2.1common.py构建CrissCrossAttention模块 2.2yolo.py中注册 CrissCrossAttention模块 2.3修改yaml文件。 1.简介 这是ICCV2019的用于语义分割的论文&#xff0c;可以说和CVPR2019的DANet遥相呼应。 和DANet一样&#xff0c;…...

RabbitMQ特性介绍和使用案例

❤ 作者主页&#xff1a;李奕赫揍小邰的博客 ❀ 个人介绍&#xff1a;大家好&#xff0c;我是李奕赫&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 记得点赞、收藏、评论⭐️⭐️⭐️ &#x1f4e3; 认真学习!!!&#x1f389;&#x1f389; 文章目录 RabbitMQ特性…...

Ansible 使用 RHEL 系统角色

安装 RHEL 系统角色软件包&#xff0c;并创建符合以下条件的 playbook /home/greg/ansible/timesync.yml 在所有受管节点上运行 使用 timesync 角色 配置该角色&#xff0c;以使用当前有效的 NTP 提供商 配置该角色&#xff0c;以使用时间服务器 172.25.254.254 配置该角色&am…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...