解决刷新或者重新点击导航栏,对应的侧边栏选中状态丢失或TAB页面与选中状态不符合

这篇具有很好参考价值的文章主要介绍了解决刷新或者重新点击导航栏,对应的侧边栏选中状态丢失或TAB页面与选中状态不符合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一:解决刷新时,侧边栏选中状态丢失或者选中状态与TAB页面不符合。
select 菜单激活回调 index: 选中菜单项的 index, indexPath: 选中菜单项的 index path
default-active 当前激活菜单的 index string
  1. 1.给菜单绑定一个属性为activeMenu
  2. 2.在data中定义一个activeMenu的初始值为第一个选项或者为空
  3. 3.在菜单激活的回调事件中,把index赋值给activeMenu
<div class="px-config-page">
    <div class="config-page-left">
      <el-menu  @select="MenuSelect"   :default-active="activeMenu" >
        <el-submenu index="1">
         
          <!--<el-menu-item index="2-1">xx</el-menu-item>-->
          <el-menu-item index="pxInformation">xx</el-menu-item>
          <el-menu-item index="pxSetting"  v-if="myRights.PXCSSZ =='1'">xx</el-menu-item>
          <!--<el-menu-item index="pxSearch">xx</el-menu-item>-->
        </el-submenu>
      </el-menu>
    </div>
    <div class="config-page-content">
      <router-view></router-view>
    </div>
  </div>
 export default {
    data() {
      return {
      
        activeMenu: 'pxInformation', // 初始值
        activeMenu: localStorage.getItem('activeMenu') || 'pxInformation',
       
      };
    },
 methods: {
      MenuSelect(index, path) {
        console.log(index);
        this.activeMenu=index;
        localStorage.setItem('activeMenu', index);
      }
    }

刷新前的时候会选中侧边栏B,刷新后选中的是侧边栏A,为什么?

这是因为每次刷新页面时,Vue 组件都会被重新创建,data 中的数据会被重新初始化,所以 activeMenu 的值会被重置,并非上一次在menuSelect对其进行赋值的index。

要解决这个问题,你可以将 activeMenu 的值存储在浏览器的 localStorage 中。这样,即使页面刷新,activeMenu 的值也能保持不变。

这个方法虽然有一定的效果,但是确不是最好的,可以解决刷新页面的时候选项及选中效果不掉。二、解决从导航菜单点进来的时候,如果选中的是侧边栏B ,但是显示的是侧边栏A,对应的TAB页面又是侧边栏B的页面。针对这个问题应该如何解决呢?


首先我们要使用watch侦听:

重复以上的步骤,

一:定义

 <el-menu  @select="MenuSelect"   :default-active="activeMenu" >

二:在data中定义变量activeMenu为空 

三:在方法中进行赋值

    MenuSelect(index, path) {
        this.activeMenu=index;
      }

四:侦听路由信息变化,因为导航菜单是通过路由进行跳转的,侦听路由,拿到$route对象中的name,赋值给当前激活菜单的 index,就可以很好的解决这个问题。文章来源地址https://www.toymoban.com/news/detail-527928.html

 watch:{
      '$route':{
        handler(newVal) {
          this.activeMenu=newVal.name
        },
        immediate: true,
      }

    }

到了这里,关于解决刷新或者重新点击导航栏,对应的侧边栏选中状态丢失或TAB页面与选中状态不符合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue - 完美解决 Element UI 侧边导航菜单 <el-menu> 出现滚动条,去掉 Element 侧边导航组件的横纵滚动条(但滚动功能依然保留,仅仅是去掉 “滚动条“)100% 解决方案

    网上的教程都不好使(甚至还有的提议在全局去掉,这么做万一需要怎么办?),本文可完美 100% 解决,代码简洁高效。 本文实现了 Element UI 组件库中,去掉 NavMenu 侧边导航菜单组件出现的滚动条! 并且是 “局部” 的,也就是说只去掉本页侧边栏菜单的滚动条,不会影响全

    2024年02月11日
    浏览(40)
  • Angular 我在点击了上一页或者下一页方法之后,重新加载渲染数据。为什么还需要再点击一次页面的其他地方才会渲染出来?

    在你的 TypeScript 代码中,当调用 nextPage_TopSelling() 或 prevPage_TopSelling() 方法时,虽然你更新了 currentPage_TopSelling 的值并调用了 reloadTopSelling() 方法,但是 Angular 并不会自动检测到这些变化并重新渲染页面。这是因为 Angular 的变化检测机制是基于异步的,在一些情况下需要手动触

    2024年03月12日
    浏览(42)
  • 解决el-checkbox点击文字也会选中

    最近要做一个 多选框嵌套下拉框的一个功能,在点击下拉框时,多选框一直会被选中或者取消,这里做一下解决记录 首先展示一下要做的功能 出现原因: el 的checkbox的组件整个是由lable包裹的,所以重写el-checkbox就可以了 原编码: 解决: 这里用div或者span都是可以的,div会

    2024年02月05日
    浏览(33)
  • vue+iView 动态侧边栏菜单保持高亮选中

    iview 组件在使用过程中,多多少少有一些小坑,本文简单罗列一二: 避坑指南: 关于iview 侧边栏菜单未能展开高亮选中回显问题 应用场景:iview-admin下接入动态菜单后,刷新或链接跳入时回显失效 简单就是两个方面:动态菜单接入前和动态菜单接入后菜单保持高亮选中问题

    2024年02月07日
    浏览(29)
  • 解决vue点击按钮刷新页面的一个bug

    登陆界面第一次点击按钮会刷新页面,后面点击就可以正常请求了 把里面的 type=“submit” 改成 type=“button”

    2024年02月20日
    浏览(28)
  • 解决Vue3 使用Element-Plus导航刷新active高亮消失

    启用路由模式会在激活导航时以 index 作为 path 进行路由跳转 使用 default-active 来设置加载时的激活项。 接下来打印一下选中项index和index路径, 刷新也是没有任何问题的,active不会消失,整体代码如下:

    2024年02月14日
    浏览(38)
  • 【2023.4.19】重新安装 Cocoapods 解决 pod install 卡住或者 cocoapods 依赖无法更新等问题

    做ios或flutter开发时,经常会遇到添加依赖过后pod install卡住,或者其他的一些奇奇怪怪的问题,如果花了很长时间都没有解决的话可以试试重新安装Cocoapods,这在大多数情况下都能有所帮助 1. 打开终端 2. which pod 3. gem list 1. 检查 gem 下载源并下载 2. 删除 Podfile 和 Podfile.lock 3

    2024年02月10日
    浏览(32)
  • HTML侧边导航栏

    简介 :本文用最简洁的语言,来教会读者,如果用html+css来制作,侧边导航栏,本案例以手机商城中的部分为例子来制作。 运行结果 : 运行结果 : 如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源

    2024年02月03日
    浏览(31)
  • 升级Win11后Win安全中心丢失或者点击没反应的解决方法

    当电脑操作系统由Windows10升级Windows11系统后,不少用户发现Windows11中的安全中心消失了,或者应为安装其他杀毒软件后卸载不干净导致Windows11安全中心点击后没有反应打不开,用户担心系统安全得不到保障。此法可有效解决。 解决步骤如下: 1、直接同时按下快捷键“Win+X”,

    2024年02月08日
    浏览(64)
  • 分享一个 VUE 侧边导航共用组建

    提示:我这里有英文所以有$i18n.locale===\\\'zh\\\' 判断,使用的时候按照个人项目情况使用。 提示:这里我是写在全局的layout里面,因为的的项目用的地方比较多。可根据自己的项目更改 好记性, 不如乱笔头,记个笔记。 第一:可能自己以后能用到 第二:可能帮助到有需要的人

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包