问题
首先贴上该框架的链接:https://github.com/kailong321200875/vue-element-plus-admin
在对路由进行部分修改后,网站多次切换tag时,控制台会出现报错:Cannot read properties of undefined (reading 'offsetLeft')
。
我在框架的issue中找到了类似问题:打开多个TagsView时会报错,用的 template 分支
对此,作者给出的回答是,template分支不再维护,因此并没有给出该问题的解决方案。
解决方法:
在项目src\components\TagsView\src\TagsView.vue
文件中,项目使用了tagLinksRefs
变量获取了tag标签路由的ref,之后对该变量进行了获取值等一系列操作。
<router-link :ref="tagLinksRefs.set" :to="{ ...item }" custom v-slot="{ navigate }">
问题就出在ref得到的变量中,数组里的路由一直在增加,导致后面出现一系列错误(错误原因未知)。
我的解决方法页很粗暴,不使用router-link
的ref
变量,而是从自己维护的路由数组item
中得到tag的一系列信息。