antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作


Posted in Javascript onAugust 06, 2020

废话不说,上代码!

<a-menu theme="dark" mode="inline" :selectedKeys="[$route.path]">
     <a-menu-item :key="'/home'">
      <router-link to="home">
       <a-icon type="user" />
       <span>nav 1</span>
      </router-link>
     </a-menu-item>
     <a-menu-item :key="'/about'">
      <router-link to="about">
       <a-icon type="video-camera" />
       <span>nav 2</span>
      </router-link>
     </a-menu-item>
     <a-menu-item :key="'/123123'">
      <router-link to="123123">
       <a-icon type="upload" />
       <span>nav 3</span>
      </router-link>
     </a-menu-item>
    </a-menu>

重点:

1,selectedkeys要设置成$route.path地址

2,a-menu-item 的key设置成要去的地址

刷新页面,成功!

补充知识:vue根据路由刷新页面(切换菜单刷新页面)

刷新页面有两种方法:

一种是用:localtion.reload();但是这种是重新加载页面,造成一闪一闪的效果。

一种是用provide+inject,

provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。

需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据。

1.在app.vue页面中加入

<div id="app">
   <router-view v-if="isRouterAlive"></router-view>
 </div>
provide() {
   return{
    reload: this.reload
   }
  },
  data() {
   return {
    isRouterAlive: true
   }
  },
 methods: {
   reload () {
    this.isRouterAlive = false;
    this.$nextTick(function () {
     this.isRouterAlive = true
    })
   }
  },

2.在菜单页面加入

inject: ['reload'], // 注入重载的功能(注入依赖)
watch: {
  //检测路由参数发生改变时,刷新当前页面 调用
  '$route': function(){
   // this.reload();
  }
 },

3.注意这个@click方法,里面就是调用重新加载的方法

<el-menu-item v-if="validatenull(item[childrenKey]) && vaildRoles(item)"
          :index="item[pathKey]"
          @click="open(item)"
          :key="item[labelKey]"
          :class="{'is-active':vaildAvtive(item)}"
          >

调用this.reload()方法,即可重新加载路由刷新页面。

open(item) {
   if (this.screen <= 1) this.$store.commit("SET_COLLAPSE");
   this.$router.$avueRouter.group = item.group;
   this.$router.push({
    path: this.$router.$avueRouter.getPath({
     name: item[this.labelKey],
     src: item[this.pathKey]
    }),
    query: item.query,
   });
   this.reload();
  },

以上这篇antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE event.srcElement和FF event.target 功能比较
Mar 01 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
Jul 24 Javascript
使用vue-cli webpack 快速搭建项目的代码
Nov 21 Javascript
使用xampp将angular项目运行在web服务器的教程
Sep 16 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
Nov 01 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
JS实现百度搜索框关键字推荐
Feb 17 Javascript
vant 时间选择器--开始时间和结束时间实例
Nov 04 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 #Javascript
Javascript如何递归遍历本地文件夹
Aug 06 #Javascript
通过vue刷新左侧菜单栏操作
Aug 06 #Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 #Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 #Javascript
前端开发基础javaScript的六大作用
Aug 06 #Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 #Javascript
You might like
php入门学习知识点三 PHP上传
2011/07/14 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python生成大写32位uuid代码
2020/03/03 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
外国语学院毕业生自荐信
2013/10/28 职场文书
财务会计应届生求职信
2013/11/24 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
学校献爱心活动总结
2014/07/08 职场文书
英语系毕业生求职信
2014/07/13 职场文书
入股合作协议书
2014/10/12 职场文书
刘公岛导游词
2015/02/05 职场文书
2015中学学校工作总结
2015/07/20 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
企业愿景口号
2015/12/25 职场文书
MySQL优化及索引解析
2022/03/17 MySQL