Vue中keepalive组件如何实现在关闭标签时清除缓存并重渲染?

新手上路,请多包涵

使用keepalive缓存的系统标签页,右边的菜单选择时右边的标签页会显示为当前的选中页面路由页面,标签页的关闭,我目前没有清楚keepalive的缓存,我需求是在点击标签的关闭按钮,重新渲染页面清楚缓存
代码:

     <el-main class="main-content">
        <!-- 此处放置标签页 -->
       <div class="tags-container">
        <Tags/>
       </div>
       <div style="padding: 0 20px;flex:1">
        <router-view v-slot="{ Component }">
            <keep-alive>
              <component :is="Component"></component>
            </keep-alive>
       </router-view>
       </div>
    </el-main>

使用过v-if重新强制渲染,没有达到效果,使用$route.fullpath也没有效果,希望得到大佬的帮助谢谢

阅读 593
3 个回答

使用keep-alive的include属性动态的添加和移除需要缓存的组件
include 属性接受一个字符串、数组或者正则表达式,只有组件名称与include属性值匹配的组件会被缓存

vue-next-admin这个后台pinia不是已经有设置,看看文档,我记得还是有清晰说明的设置对应参数就好了

include 属性接受一个字符串、数组或者正则表达式,只有组件名称与include属性值匹配的组件会被缓存

推荐问题