关于表格分页缓存数据

常规情况下

在日常工作中,我们翻页的时候都是通过请求来获取接口数据并渲染在表格中,只需要变动page,size就可以实现
如:

getList() {this.$api.getSKUdetail(this.id, {size: this.page_params.size, // 每页显示条数page: this.page_params.page  // 第几页}).then((res) => {if (res.ret) {// 获取列表数据this.page_params.total = res.meta.totalthis.form.skuDetail = res.data}})},

这样的方便前端,只需要去关注页数和条码并回显就够了

需求

现在有一个需求就是,用户需要通过填写表格数据来提交数据,需要提交的数据甚至多达千条,这时候单纯的分页就可能力不从心了达不到需求,所以笔者这里就把表格数据缓存下来,同时离开页面时验证提交保存数据

实现

具体思路是创建一个数组对象,当请求未缓存的数据时就调用getList,拿到数据后标识已缓存,发请求之前验证是否缓存,已缓存就在缓存的二维数组里面找到并赋值给表格的data

data() {return {cacheSku: [], // 缓存的数组skus: [], // 表格显示的列表page_params: {page: 1,size: 5}}
}
// 分页跳转
handleCurrentChange(val) {this.page_params.page = val// 是否已经缓存const flag = this.cacheSku.filter((item) => {return item.page === val && item.cache})flag.length > 0 ? this.form.skus= flag[0].item : this.getList()/*写法同上if (flag.length > 0) // 已经缓存this.form.skuDetail = flag[0].item} else {// 未缓存this.getList()}*/
},
getList() {this.$api.getSKUdetail(this.id, {size: this.page_params.size, // 每页显示条数page: this.page_params.page  // 第几页}).then((res) => {if (res.ret) {// 获取列表数据this.page_params.total = res.meta.totalthis.form.skuDetail = res.datathis.cacheSku.push({cache: true, // 标识已缓存page: res.meta.current_page, // 标识第几页已缓存item: res.data // 缓存的数据})console.log(this.cacheSku)}})},

需要改进的地方

当用户有切换页数size的需求时,笔者这里的操作是清空缓存并重新开始缓存 ,这里还不知道怎么改进,大家有什么好的想法可以在下面留言 ———前端菜鸟一枚(比心)

关于表格分页缓存数据相关推荐

  1. java实现layui静态表格分页,layui——数据表格分页实例

    layui实现数据表格table分页功能,异步加载,表格渲染.总体流程:layui的数据表格设置分页参数开启可以从请求中看到如下图,所以我们需要在后端控制器接收分页数据page和limit进行操作,下 ...

  2. Layui数据表格分页通过两种方法实现

    SSM框架+Layui框架实现数据表格分页效果图如下所示: 具体实现方法: 方法一:(基于前台进行分页) 实现思路:主要是后台将全部数据返回到前台,之后前台通过Layui的parseData函数来实现 ...

  3. 十行代码将Redis缓存数据进行分页提取与展示

    预览 准备数据 从以前的项目中提取一些数据直接导入MySQL,原先数据库为sqlite3,先将数据转为xls文件格式. 然后使用MySQL可视化工具Navicat for MySQL新建一个数据库,新 ...

  4. layui数据表格分页无法正常显示

    layui数据表格分页无法正常显示 应该先利用layui table中的parseData方法手动将数据切片分页,代码如下,要点是parseData: function(res){}中的方法,对从ur ...

  5. Thinkphp+layui数据表格实现表格分页

    项目场景:Thinkphp+layui数据表格实现表格分页 提示:thinkphp+layui数据表格分页,需要服务器端配合.之前在百度上一通乱搜也没找到解决方案. 问题描述 提示:这里描述项目中遇到 ...

  6. 动态树+数据表格+分页

    目录 1. 后台数据 2. 动态生成NavMenu导航菜单(只支持2级菜单        2.1 结构 2.2 vue+element的el-menu组件实现路由跳转及当前项的设置 2.3 数据表格 ...

  7. vue09动态树+数据表格+分页模糊查

    14天阅读挑战赛 努力是为了不平庸~ 目录 1. 准备工作 2. 动态树 2.1 在配置请求路径 2.2 使用动态数据构建导航菜单 2.2.1 通过接口获取数据 2.2.3 通过后台获取的数据构建菜单 ...

  8. Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能

    Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据.实现分页和查询功能 一.部分技术选型 二.项目结构 三.功能需求和效果展示 四.关键代码 4.1页 ...

  9. 09 动态树+数据表格+分页+增删改

    前言 这篇文章是继上一篇文章的增删改查功能的实现 一.动态树 效果图 我们将在上一次课中的LeftAside.vue中完成动态树的实现 主要代码在Element官网 NavMenu 导航菜单中的侧栏 ...

最新文章

  1. HDU-4277USACO ORZ深搜+set去重
  2. HASHSET不能预留容量问题
  3. 如何实际使用强类型Dataset(键盘再也不需要敲入表名和字段名了)
  4. 如何用纯 CSS 创作一组昂首阔步的圆点
  5. SpringBoot2.0之整合Apollo
  6. rs232接口_终于有人把常用的三种通讯方式:RS485、RS232、RS422讲明白了
  7. 初中计算机卡片的制作教案,其他教案-贺卡的设计与制作
  8. 如何成为一名数据科学家?
  9. 会编程的少年有多厉害?8岁女儿写代码哄程序员爸爸开心,网友直呼:破防了
  10. 声网连麦+直播+视频+游戏“史上最强”社交直播方案 打造陌陌全新8.0改版
  11. JZOJsenior5473.【NOIP2017提高组】day1T1小凯的疑惑
  12. 基于FPGA的信号发生器的设计
  13. 盘点 yMatrix 创业的530天:1.01^530,苟日新,日日新,又日新
  14. python+splinter刷火车票
  15. 评估板快速测试-基于TI Sitara Cortex-A9
  16. java 23_《分布式JAVA应用 基础与实践》 第三章 3.2 JVM内存管理(三)
  17. Android获取USB设备信息
  18. 实验五 微控制器实验
  19. 珠宝玉石类小程序严格风险控制|没有资质不建议做了
  20. “元宇宙”概念引爆科技界:扎克伯格说它将颠覆人类社会,英伟达也来“搅局”?| 硅谷速递

热门文章

  1. 本地唯一985,要去省会了!
  2. 代码真的可以体现一个人的智商吗?
  3. 戴尔 Inspiron 7559加装内存条和固态硬盘
  4. 程序员为什么成就感很高
  5. 基于STM32的TFT-LCD触摸屏实验(HAL库)
  6. 蚂蚁金服入职考试_阿里巴巴蚂蚁金服面试通过,多久给offer?
  7. bzoj4084【SDOI2015】bigyration
  8. 从quot;笨蛋法则quot;到quot;取优而立quot;
  9. Pytorch实战 | 第P1周:实现mnist手写数字识别
  10. iOS进阶 - pod install 与 pod update 读这一篇就够了