请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

tab可以点击,滑动轮播就不行了,下面页面滑动不了什么原因啊老师

<template>
  <div class="tab">
    <cube-tab-bar
      :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"
        @change="onChange"
        @scroll="onScroll"
        :options="slideOptions">
        <cube-slide-item>
          <goods></goods>
        </cube-slide-item>
        <cube-slide-item>
          <ratings></ratings>
        </cube-slide-item>
        <cube-slide-item>
          <seller></seller>
        </cube-slide-item>
      </cube-slide>
    </div>
  </div>
</template>

<script type="text/ecmascript-6">
  import Seller from 'components/seller/seller'
  import Goods from 'components/goods/goods'
  import Ratings from 'components/ratings/ratings'

  export default {
    name: 'tab',
    data() {
      return {
        index: 0,
        tabs: [{
          label: '商品'
        }, {
          label: '评价'
        }, {
          label: '商家'
        }],
        slideOptions: {
          listenSlide: 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: {
      onChange(current) {
        this.index = current
      },
      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)
      }
    },
    components: {
      Seller,
      Goods,
      Ratings
    }
  }
</script>

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

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

图片描述

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2018-12-14 00:02:58

往后看视频,会告诉你怎么实现上下联动的

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉4201155 #1
    tab看完了,和源码一样,下面goods,seller部分还是左右滑动不了
    回复 有任何疑惑可以回复我~ 2018-12-14 00:06:38
  • ustbhuangyi 回复 提问者 慕粉4201155 #2
    和源码一样是不可能不能滑动的,你先看一下你下面的布局是否满足一个可以左右滑动的 slide
    回复 有任何疑惑可以回复我~ 2018-12-14 00:13:37
  • 提问者 慕粉4201155 #3
    我粘贴复制您的代码,tab组件可以点击,cube-slide部分的cube-slide-item不能左右切换
    回复 有任何疑惑可以回复我~ 2018-12-14 12:51:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信