前端切换Tab数据缓存实践

一、需求背景

在一些后台管理的项目中,会经常有一些tab组件,tab组件下展示各种不同的数据,通常情况下,每次切换tab都会重新调用接口拉取数据,我认为这是很正常的现象,并不会对服务器带来什么所谓的压力。但是我们的领导要求是 每次切换调用接口后,下次再切换不用调用,直接用历史数据,并且分页查询参数还要隔离,说实话,这与这种需求可以做,意义不大,领导给我提供的思路是写8个表格互不干扰,What????

二、实践

之前我是用的一个封装的table组件,通过配置jsonColumns来渲染,用的一个变量来保存的表格数据,这样显然是无法隔离,当然写8个table这种愚蠢的行为是不可能干的!

step1:数据隔离 先定义两组map对象(表格数据 and 查询参数),key就是tab对应的selectedName

step2:请求接口后,set对应值

step3:如何使用动态表格数据和动态请求参数?

queryParams的set大家可以不用写,这里我把queryParams在自定义的翻页组件进行双向绑定做了其他处理,可忽略,和我们讲的没任何关系。到这里就已经完成了查询参数和表格数据的隔离了~~

step4:记录请求状态

定义一个ref对象, const requestStatus = ref({}),当然普通的对象也可以,毕竟和视图没关系,在调用接口成功后标记已请求的状态。

step5:拦截请求,实现缓存

到这里,就已经实现了需求,整体比较简单,提供了一种思路,不管什么框架套用思路即可,有什么更好的方式欢迎大家评论~~

相关推荐
Mike_jia1 分钟前
Netdata:实时监控领域的“超音速战机”——从零构建企业级运维观测体系
前端
Mike_jia5 分钟前
RustDesk:开源远程桌面的颠覆者——从极简部署到企业级实战全解析
前端
晓得迷路了12 分钟前
栗子前端技术周刊第 86 期 - React Native 0.80、Bun v1.2.16、Astro 5.10...
前端·javascript·bun
JustHappy15 分钟前
「web前端性能优化慢聊🚀」从域名到IP,咱切图仔可以做啥?—— DNS解析优化慢聊
前端
心.c19 分钟前
React基础
前端·javascript·react.js
江城开朗的豌豆31 分钟前
Vue新手必看!1分钟快速创建项目的魔法命令
前端·javascript·vue.js
黑客笔记1 小时前
Bugku-CTF-web
大数据·前端·深度学习·web安全
恋猫de小郭2 小时前
Compose Hot Reload 为什么只支持桌面 JVM,它和 Live Edit 又有什么区别?
android·前端·flutter
10年前端老司机3 小时前
Vue3项目中使用vue-draggable-plus实现拖拽需求简直不要太丝滑
前端·javascript·vue.js
&白帝&7 小时前
前端实现截图的几种方法
前端