Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 68256|回复: 0

关于vue+element-ui项目的分页,返回默认显示第一页的问题解决

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-4-8 09:22:24 | 显示全部楼层 |阅读模式

     

    关于vue+element-ui项目的分页,返回默认显示第一页的问题解决

    问题描述

    当前页面如下:

    然后点击页码跳到第3页,然后在第三页点击页面链接跳转到新的页面

    然后在新页面点击返回按钮,返回到当前页,结果页面分页显示第一页,对应页面内容也是第一页

    期望效果

    从新页面返回的时候,页码和页面内容仍旧保持在跳转离开前的样子。

    解决办法

    1.利用localStorage或者sessionStorage将跳转页面前的currentPage存储起来,然后,再次返回当前页的时候,在created生命周期里,获取到存储的currentPage,再进行加载
    2.代码解释
    我这里用的是sessionStorage,关于sessionStorage的使用,我这边先做下解释,以免后面看不懂。之前开发的时候我是先在全局定义了两个sessionStorage的方法,用于存取值

     

    分页代码

     

    然后将currentPage在每次点击页码的时候存到sessionStorage里

    这里解释下,qryTableData()是我定义的请求接口交易,刷新页面内容的方法。
    然后在当前页的created生命周期里从sessionStorage里面取currentPage。

     


    这样,我们再返回当前页的时候,页面内容将会是跳转离开前的样子。

    但是至此工作仅仅完成一半,因为我们发现这个bug并没有完全解决

    问题造成原因
    我们返回当前页面取得总条数totalNum的之前,element-ui的分页组件已经在页面加载完毕,当时的totalNum绑定的是data里面初始化的数据0,所以当总条数为0的时候,分页组件的页码默认为1。并且当totalNum在created生命周期里取得数据后,分页组件也不会刷新。所以这就导致, 页面内容正确,但是页码高亮依旧是第一页
    解决办法
    我们需要在created之后刷新这个分页组件或者让分页组件的html后于created之后加载到页面。
    再次刷新这个分页组件是不现实的,我们选择在created之后加载分页组件。具体办法就是使用v-if。在totalNum不为data里面给的初始值0的时候,才让这段html加载到页面。

    然后再次测试,发现完美解决问题。

     

    每日更新前端内容,搜索微信公众号qdleader,也可加群,一起进步

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-6 11:39 , Processed in 0.070508 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表