广告位联系
返回顶部
分享到

解决Element ui导航栏选中背景色刷新消失的问题

JavaScript 来源:互联网 作者:佚名 发布时间:2023-05-28 21:42:44 人浏览
摘要

Element ui导航栏选中背景色刷新消失 1 2 3 4 5 6 7 8 9 el-menu :is-collapse=isCollapse text-color=#fff active-text-color=#fff :default-active=activerouter :router=true /el-menu //重点在于:default-active=activerouter的设置 1

Element ui导航栏选中背景色刷新消失

1

2

3

4

5

6

7

8

9

<el-menu

        :is-collapse="isCollapse"

        text-color="#fff"

        active-text-color="#fff"

        :default-active="activerouter"

        :router="true"

      >

</el-menu>

 //重点在于:default-active="activerouter"的设置

 1.activerouter 挂在data 中

1

2

3

data() {

    return:activerouter;

}

 

1

2

3

4

mounted() {

    this.activerouter =  window.location.pathname

   //正常情况下加上这句话是可以解决的,如果解决不了,继续往下看

  },

 

2.给menuItem加点击事件,路由地址作为参数

1

2

3

4

5

6

7

<el-menu-item

            :index="subItem.path"

            class="active_bg"

            :class="{ active_bg: index == activeIndex }"

            @click="selectMenuItem(subItem.path)"

          >

</el-menu-item>

 

3.把拿到的路由地址保存在本地

1

2

3

4

selectMenuItem(path) {

      this.activerouter = path

      window.sessionStorage.setItem("activerouter", path);

    },

  

4.敲黑板注意,这个时候mounted()里面写的就是如下了,就别再用location.pathname啦

1

2

3

4

5

mounted() {

    //获取地址栏中的路由,设置elementui中的导航栏选中状态

    this.activerouter =  window.sessionStorage.getItem("activerouter");

    console.log('activerouter',this.activerouter)

  },

Element ui导航栏选中高亮,刷新后选中消失

侧边菜单

导航栏选中后重新刷新页面会发现选中的导航栏高亮消失了,或者跳到了其它选项,这里的思路就是定义方法,把路由存入到sessionStorage,页面重新加载的时候从sessionStorage中获取

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<!--侧边菜单-->

         <el-menu :default-active="active" class="el-menu-vertical-demo" router>

            <router-link to="/user" style="text-decoration: none">

              <el-menu-item index="/user" v-if="isflag" @click="selectMenuItem('/user')"> 

                <el-icon><User /></el-icon>

                <span>User Information</span>

              </el-menu-item>

            </router-link>

            <el-menu-item index="order" v-if="isflag" @click="selectMenuItem('order')">

              <el-icon><Tickets /></el-icon>

              <span>Order Management</span>

            </el-menu-item>

            <el-menu-item index="manage" v-if="userInfo.rolename=='op' ? false : true" @click="selectMenuItem('manage')">

              <el-icon><Reading /></el-icon>

              <span>Task Management</span>

            </el-menu-item>

            <el-menu-item index="task" v-if="isflag" @click="selectMenuItem('task')">

              <el-icon><Calendar /></el-icon>

              <span>Schedule</span>

            </el-menu-item>

          </el-menu>

1

2

3

4

5

  data() {

    return {

      active: "/user",

    };

  },

1

2

3

mounted(){

    this.active =  window.sessionStorage.getItem("activerouter");

  },

1

2

3

4

5

6

  methods: {

    selectMenuItem(path) {

      this.active = path

      window.sessionStorage.setItem("activerouter", path);

    },

   } 

总结


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计