Vant-ui 动态tab(滚动导航)踩坑

932 阅读1分钟

效果实现

在这里插入图片描述

背景介绍

项目需要实现动态生成tab ,并结合滚动导航监听当前激活标签,滚动当前位置(可通过标签click or 滚动位置改变)两种方式监听。

但是在项目实际开始中,发现动态生成的tab无法监视当前激活标签,同时新增的时候无法自动滚动相应位置。

解决方案

可以在动态添加tab方法和遍历生成tab,共同绑定activeIndex,再通过this.$refs.tabs.scrollTo滚动到指定的位置

代码示例

      <van-tabs
        ref="tabs"
        v-model="active"
        scrollspy
        sticky
        color="#00C230"
        title-active-color="#00C230"
      >
                <van-tab
            v-for="(item, index) in feedbackData.feedbackListData"
            :key="index"
            :title="'明细' + Number(index + 1)"
          >
 let count = this.feedbackData.feedbackListData.length - 1;
      this.$nextTick(() => {
        this.active = count;
        this.$refs.tabs.scrollTo(this.active + 1);
      });