问题场景

  列表页面输入查询条件,选择第3页,点击详情进入详情页,从详情页返回时,默认列表页面页码重置为1;此时想要缓存该页码,有两种方式;可按业务场景使用

方式一:用vue自带的 keep-alive组件

官方链接:keep-alive

该方式会缓存组件,组件中其他状态也会被缓存;若只想缓存分页组件,用方式二。

被缓存的组件生命周期不再有mounted,与之替代的是activated。当被缓存的列表页面有状态改变时,可以在activated生命周期中调用更新数据方法;例如从列表页面对这条数据有一些操作:审批,撤回,明细,修改等。当一条数据点击审批进入审批页面并提交审批后返回到列表页面审批操作需要更新为撤回操作,此时由于页面被缓存则需要在activated生命周期中调用更新数据方法。

<keep-alive :include="list">
<route-view></route-view>
</keep-alive> data(){
return {
list:[
'componesName',//需要缓存页面组件的name
]
}
}
activated(){
  this.init()
}

方式二:修改分页组件的 internalCurrentPage

从列表页进入详情页时保存当前选中的页码

detail (){
sessionStorage.setItem('currentPage') = this.currentPage
}

返回至列表页时如下,需要注意的是分页组件本来是 :current-page.sync 我这里去掉了 .sync,不去掉修改internalCurrentPage不生效。

<el-pagination
ref="pagination"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="sizes, prev, pager, next"
:total="1000">
</el-pagination> //关键代码
mounted(){
this.currentPage = sessionStorage.getItem('currenPage') || 1;
},
methods:{
async getList(){
//.....获取列表数据之后
this.nextTick(() =>{
this.$refs.pagination.internalCurrentPage = this.currentPage
    })
  }
}

  

vue + elementui 分页切换页面,缓存页码的更多相关文章

  1. Java快速开发平台强大的代码生成器,JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布

    JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布 此版本为Vue+ElementUI SPA单页面应用版本,提供新一代风格代码生成器模板,采用Vue技术,提供两套精美模板E ...

  2. vue Element-UI 分页使用(1)

    最近在使用Element-UI这套框架配合Vue来写前端页面.在用Element-UI来制作表格的时候,遇到了一些小问题,记录方便学习. 其中两个事件是关于切换当前页和切换显示的列表条数的.另外的属性 ...

  3. vue+ElementUI 分页

    现在写的Vue+ElementUI是自己写的是文档上的死数据,所以在分页上自己分割了一下,如果有接口话,会方便一点,使用的是分页的完整功能.都差不多啦! 撸起来 <template> &l ...

  4. VUE如何实现切换页面时的过渡动画?

    最近再写页面的时候,感觉页面之间的切换有点生硬,所以查了一下文档看见了transition这个组建,很实用,故此在这里跟大家分享一下 --------------------------------- ...

  5. vue keep-alive 取消某个页面缓存问题

    keep-alive keep-alive是Vue提供的一个抽象组件,用来对组件进行缓存,从而节省性能,由于是一个抽象组件,所以在v页面渲染完毕后不会被渲染成一个DOM元素 <keep-aliv ...

  6. VUE+elementUI 分页请求回显问题解决方案

    一直专注写后台的本人,之前新产品回显问题,一直没处理,这对实施配置系统,会产生很大影响 由于写页面的同事要离职,一直在游泳,只能自己上手去干了.本人对 vue 和elementUI 处于一知半解,所以 ...

  7. vue项目强制清除页面缓存

    异常描述: 支付宝中内嵌h5项目(vue框架开发),前端重新打包上传之后访问页面会导致页面空白.页面tab点击异常之类异常情况,需要手动清除支付宝缓存才可以正常访问. 解决方案: 在HTTP协议中,只 ...

  8. VUE 实现tab切换页面效果

    一 163邮箱登录tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  9. vue element-ui 分页组件封装

    <template> <el-pagination @size-change="handleSizeChange" @current-change="h ...

  10. vue异步分页+初始化页面

    html代码: <section class="container page-home"> <div id="main-content" cl ...

随机推荐

  1. Codeforces Round #666 (Div. 2) 题解报告

    https://codeforces.com/contest/1397/problem/A 题意: 给定n个字符串,问重新组合以后是否能构成相同的n个字符串 思路: 直接判断所给的字符串的每种字母是否 ...

  2. Android 原生 SQLite 数据库的一次封装实践

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/CL4MsQEsrWS8n7lhXCOQ_g作者:Li Bingyan 本文主要讲述原生SQLi ...

  3. C# 几种常见数据结构(数组、链表、Hash表)

    一.内存上连续存储,节约空间,可以索引访问,读取快,增删慢 Array: 在内存上连续分配的,而且元素类型是一样的,可以坐标访问;读取快--增删慢,长度不变 { //Array:在内存上连续分配的,而 ...

  4. 机器学习-线性回归-损失函数+正则化regularization-06

    目录 1. 为什么要加上正则项 2 L1稀疏 L2平滑 3. 代码1--L2正则 4 代码2--L2正则2 5. 代码3--l1正则 6. ElasticNet 1. 为什么要加上正则项 防止模型的过 ...

  5. docker 安装 ElasticSearch 和 Kibana 及ik 中文分词器

    本文为博主原创,未经允许不得转载: 1. 使用 docker 下载 elasticsearch  7.6.1 docker pull elasticsearch:7.6.1 2. 启动 elastic ...

  6. 神经网络优化篇:详解学习率衰减(Learning rate decay)

    学习率衰减 加快学习算法的一个办法就是随时间慢慢减少学习率,将之称为学习率衰减,来看看如何做到,首先通过一个例子看看,为什么要计算学习率衰减. 假设要使用mini-batch梯度下降法,mini-ba ...

  7. 04 Tcl字符串

    Tcl字符串 4.1 Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存. 命令 描述 append 将值追加到字符串尾 binary 二进制化字符串 format 字符串格式化 regexp ...

  8. 03-Tcl数学表达式及expr命令

    3 Tcl书写表达式及expr命令 Tcl提供了有效的数学运算和逻辑运算功能.通过expr可以实现对数学表达式的分析和计算. 3.1 数学与逻辑运算符 运算符 说明 - + ~ ! 一元减(取负).一 ...

  9. Linux-定时任务-cron

  10. 使用Grafana 监控 minio 的部分改进

    使用Grafana 监控 minio 的部分改进 部署minio开启监控metrics的脚本 mkdir -p /data/minio/data cat << EOF > /etc/ ...