element-ui在选项卡切换后刷新页面还停留在当前选项卡



用户管理
配置管理
角色管理
定时任务补偿

export default { data() { return { activeName: 'second' }; }, methods: { handleClick(tab, event) { console.log(tab, event); } } };

该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用 Vue Router 的 keep-alive 组件来保持选项卡的状态。这个组件可以将所包含的组件缓存起来,避免每次切换选项卡时重新渲染,从而保持选项卡状态不变。

以下是一个示例代码:

<template>
  <div>
    <el-tabs v-model="activeName" @tab-click="handleClick">
      <el-tab-pane label="用户管理" name="user">
        <keep-alive>
          <router-view></router-view>
        </keep-alive>
      </el-tab-pane>
      <el-tab-pane label="配置管理" name="config">
        <keep-alive>
          <router-view></router-view>
        </keep-alive>
      </el-tab-pane>
      <el-tab-pane label="角色管理" name="role">
        <keep-alive>
          <router-view></router-view>
        </keep-alive>
      </el-tab-pane>
      <el-tab-pane label="定时任务补偿" name="task">
        <keep-alive>
          <router-view></router-view>
        </keep-alive>
      </el-tab-pane>
    </el-tabs>
  </div>
</template>

<script>
export default {
  data() {
    return {
      activeName: 'user' // 默认选中第一个选项卡
    }
  },
  methods: {
    handleClick(tab, event) {
      console.log(tab, event)
    }
  }
}
</script>

在该示例中,我们将 keep-alive 组件用于每个选项卡对应的路由组件上,将其包裹在 标签内。这样,在切换选项卡时,对应的路由组件就会被缓存起来,不会被销毁,从而保持了选项卡状态。

希望这些信息能够对你有所帮助。