时间:2021-05-28
废话不说,上代码!
<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选中操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
[文件句柄]$|如果非零,则在对当前选定的文件执行写或打印操作后强制清除缓冲区$%当前选中文件句柄的当前页码$=当前选中文件句柄的当前页面长度$-当前选中文件句
本文实例讲述了微信小程序常见页面跳转操作。分享给大家供大家参考,具体如下:1.保留当前页面,跳转到应用内另一个页面:wx.navigateTo({url:'页面
1.场景在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。2.遇到的问题1.用vue-router重新路由到当前页面,页面是不进行刷新
在网上找到的,可以使用。由于刷新后,多选框会保留选中的,这时数量达到要求后还是可以选择的bug,在前面加个判断数量是否数量达到要求的处理就可以了。无标题文档$(
此方法不需要安装介质就能直接从系统环境和RE环境进行系统刷新和重置。Windows和Office保留激活状态,其中新刷新能保留文档和应用,重置则不。Custom