vue3+vite模版框架 tabs右键刷新时丢失路由参数

问题:

标题栏的tabs的右键:刷新时,没有保存上一个页面传递过来的参数

分析:

TagView.vue刷新事件

复制代码
function refreshSelectedTag(view: TagView) {
  console.log('|--执行刷新', view)
  tagsViewStore.delCachedView(view);
  const {fullPath} = view;
  nextTick(() => {
    router.replace({path: "/redirect" + fullPath});
  });
}

刷新获取到当前路由,没有把route里的路由参数对象拿出来,query

解决:

首先添加tag时,把query也添加到tag view里

//src\layout\components\TagsView.vue

function addTags() {

if (route.meta.title) {

tagsViewStore.addView({

name: route.name as string,

title: route.meta.title,

path: route.path,

fullPath: route.fullPath,

affix: route.meta?.affix,

keepAlive: route.meta?.keepAlive,

query: route.query,

});

}

}

执行右键: 【刷新】事件把query拿回来
复制代码
function refreshSelectedTag(view: TagView) {
  console.log('|--执行刷新', view)
  tagsViewStore.delCachedView(view);
  const {fullPath, query} = view;
  nextTick(() => {
    router.replace({path: "/redirect" + fullPath, query});
  });
}
在需要刷新:xx.vue页面

在onActivate地方重置获取一下,再执行刷新事件并请求最新的数据

复制代码
onActivated(() => { //刷新时候保存query
  planInfor.value.id = route.query.id
  getDetailRequest()
})
相关推荐
秋氘渔11 小时前
Vue基础语法及项目相关指令详解
前端·javascript·vue.js
IT_陈寒11 小时前
React性能优化实战:我用这5个技巧将组件渲染速度提升了70%
前端·人工智能·后端
邱泽贤11 小时前
uniapp 当前页调用上一页的方法
前端·javascript·uni-app
不一样的少年_11 小时前
大部分人都错了!这才是chrome插件多脚本通信的正确姿势
前端·javascript·浏览器
Moment11 小时前
Angular v21 无 Zone 模式前瞻:新特性、性能提升与迁移方案
前端·javascript·angular.js
yqcoder11 小时前
vue2 和 vue3 中,provide 和 inject 用法
前端·javascript·vue.js
艾小码11 小时前
Vue组件开发避坑指南:循环引用、更新控制与模板替代
前端·javascript·vue.js
合作小小程序员小小店12 小时前
web开发,在线%农业产品销售管理%系统,基于idea,html,css,vue.js,layui,java,jdk,ssm
java·前端·jdk·intellij-idea·layui·数据库管理员
flypwn13 小时前
TFCCTF 2025 WebLess题解
服务器·前端·数据库
b***748813 小时前
前端CSS预处理器对比,Sass与Less
前端·css·sass