老师,tab不显示内容,帮忙排查一下可以吗

来源:4-1 tab 组件基础实现

慕粉1230329569

2020-03-10

图片描述

<template>
  <div class="tab">
    <cube-tab-bar
      :useTransition=false
      :showSlider=true
      v-model="selectedLabel"
      :data="tabs"
      ref="tabBar"
      class="border-bottom-1px"
    >
    </cube-tab-bar>
    <div class="slide-wrapper">
      <cube-slide
        :loop=false
        :auto-play=false
        :show-dots=false
        :initial-index="index"
        ref="slide"
      >
        <cube-slide-item>
            11111111
        </cube-slide-item>
        <cube-slide-item>
            22222222
        </cube-slide-item>
        <cube-slide-item>
            22222222222
        </cube-slide-item>
      </cube-slide>
    </div>
  </div>
</template>

<script>
  export default {
    name: 'tab',
    props: {
      initialIndex: {
        type: Number,
        default: 0
      }
    },
    data() {
      return {
        index: this.initialIndex,
        tabs: [{
          label: '全部'
          }, {
            label: '成功'
          }, {
            label: '查询中'
          }
        ],
        slideOptions: {
            listenScroll: true,
            probeType: 3,
            directionLockThreshold: 0
        }
      }
    },
    computed: {
      selectedLabel: {
        get() {
          return this.tabs[this.index].label
        },
        set(newVal) {
          this.index = this.tabs.findIndex((value) => {
            return value.label === newVal
          })
        }
      }
    },
    methods: {
      onScroll(pos) {
        const tabBarWidth = this.$refs.tabBar.$el.clientWidth
        const slideWidth = this.$refs.slide.slide.scrollerWidth
        const transform = -pos.x / slideWidth * tabBarWidth
        this.$refs.tabBar.setSliderTransform(transform)
      },
      onChange(current) {
        this.index = current
        console.log(this.index)
        const instance = this.$refs.component[current]
        if (instance && instance.fetch) {
          instance.fetch()
        }
      }
    }
  }
</script>

<style lang="stylus" scoped>
  @import "~common/stylus/variable"

  .tab
    display: flex
    flex-direction: column
    height: 100%
    >>> .cube-tab
      padding: 10px 0
    .slide-wrapper
      flex: 1
      overflow: hidden
</style>
写回答

4回答

ustbhuangyi

2020-03-11

//img1.sycdn.imooc.com/szimg/5e6849a809c9340f13260394.jpg
这里改成 v-if 就可以了

0
2
慕粉1230329569
非常感谢!
2020-03-11
共2条回复

ustbhuangyi

2020-03-10

//img.mukewang.com/szimg/5e67678e093db2b614281770.jpg
你上传的代码以及分支对吗,我怎么打开是这样的?

0
1
慕粉1230329569
对的 点击查询记录
2020-03-10
共1条回复

ustbhuangyi

2020-03-10

你把代码传到 GitHub 上,我抽空帮你看下

0
1
慕粉1230329569
老师,我上传到这个地址了https://github.com/tank-w/cube-uics.git
2020-03-10
共1条回复

ustbhuangyi

2020-03-10

看一下对应的 DOM 有没有渲染出来。

0
1
慕粉1230329569
DOM没有渲染出来,老师,我贴了下代码,麻烦您看看哪有问题
2020-03-10
共1条回复

Vue.js2.5+cube-ui重构饿了么App(经典再升级)

掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp

9868 学习 · 4162 问题

查看课程