VUX version
2.9.2
OS/Browsers version
Version 69.0.3481.0 (Developer Build) (64-bit)
Vue version
2.5.17
Code
<tab :line-width="2" :animate="false" v-if="isThirdMenue">
<tab-item v-for="(item, key) in thirdMenueList" :selected="item.select" :key="key" @on-item-click="onItemClick(item.path)">{{item.name}}</tab-item>
</tab>
onItemClick (path) {
this.$router.push(path);
},
Steps to reproduce
const scrollDuration = 15
const nav = this.$refs.nav
报错位置
nav.scrollLeft = (currentIndexTab.offsetLeft - (nav.offsetWidth - currentIndexTab.offsetWidth) / 2 - nav.scrollLeft) / scrollDuration
报错位置
if ( count < scrollDuration) {
window.requestAnimationFrame(step)
}
What is Expected?
希望没有报错,最好实现页面重渲染时候能够让select的tab能够在可视化界面中间。
What is actually happening?
报错无法找到nav.scroll Left 其实是在拿到 ref.nav 的时候无法找到nav这个dom节点,这里我在源码添加id的方式来找还是有相似的问题。希望能够解决。(这里是因为使用了router-link到新页面)不知道是不是由于销毁了tab的dom造成的报错
1条答案
按热度按时间js5cn81o1#
2502 问题建议。 用这个不会。 <tab-item v-for="n in 8" :key="n" :selected="n===1" @on-item-click="onItemClick" @click.native="$router.push('/hello')">已发货{{ n }}