element-ui Tabs 标签页刷新页面怎么让它默认到第二页

有个删除功能,删除完会刷新一下页面,只要刷新了,tab位置就会默认到第一个,有没有办法让它刷新位置不变

阅读 12.1k
4 个回答

官方demo

<template>
  <el-tabs v-model="activeName" @tab-click="handleClick">
    <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
    <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
    <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
    <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
  </el-tabs>
</template>
<script>
  export default {
    data() {
      return {
        activeName: 'second'
      };
    },
    methods: {
      handleClick(tab, event) {
        console.log(tab, event);
      }
    }
  };
</script>

可以记录点击时当前tab的name,在页面刷新时,读取该数据,修改 data.activeName即可。

意思应该是当前删除的选项在哪个tab就刷新页面之后再显示到对应tab上吧?建议以下几个方案,希望能给您带来帮助:
1.使用浏览器缓存进行记录
2.删除数据重载页面时将需要显示到对应的tab位置绑定到当前页面地址栏中,作为参数,所以要求在页面created时获取url当前参数值来默认显示对应tab
3.vue数据更新双向绑定,删除数据刷新页面这个其实不太友好,删除数据建议局部刷新即可,这样也不会有刷新tab的问题了

create(){
    this.activeName = 'second'
}

用缓存记录吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题