vux [Bug Report] Tab组件点击触发页面跳转,整页面渲染会报错

mkshixfv  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(66)

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造成的报错

js5cn81o

js5cn81o1#

2502 问题建议。 用这个不会。 <tab-item v-for="n in 8" :key="n" :selected="n===1" @on-item-click="onItemClick" @click.native="$router.push('/hello')">已发货{{ n }}

相关问题