请稍等 ...
×

采纳答案成功!

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

swiper和tabs` 联动

swiper和tabs` 联动 为什么拖动swiper tabs不动 红色的字体颜色也不变化

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

2回答

新新天空 2023-01-12 11:21:57

我也遇到了这个问题,原因是没有在my-tabs.vue中侦听defaultIndex,加上之后就可以。

0 回复 有任何疑惑可以回复我~
Sunday 2021-08-05 16:24:52

你好
可以详细描述下错误的信息,以及你现在的代码内容

0 回复 有任何疑惑可以回复我~
  • 提问者 昊6270195 #1
    onSwiperChange(e){
    				 if(this.currentpagescrool>130)
    				 {
    					 uni.pageScrollTo({
    					 	scrollTop: 130,
    					 	
    					 });
    				 }
    			// console.log(e)
    			 this.currentIndex=e.detail.current
    			
    			 			 
    			 },
    打印也可以打印出来 
     defaultIndex: {
    		//当defaultindex发生变化时 回调的方法
          handler(val) {
            this.activeIndex = val;
            // 定义滑块的位置 重新计算
    		this.tabToIndex();
    	
        
          },
          // 该回调将会在侦听开始之后被立即调用
          immediate: true
        },
       tabToIndex() {
    		if(this.tabList.length===0) return;
      
          // 获取当前的 activeIndex
          const activeIndex = this.activeIndex;
    
          // 配置 滚动条 的数据
          this.slider = {
            // TODO:left 如何定义呢?
            // 1. 维护一个单独的数据对象 `tabList`
            // 2. 在 `tabList`  的 `item` 中为一个 `_slider` 属性
            // 3. 该属性保存了 【当前 `item` 下 的滑块位置】
            //    3.1. 计算公式:`滑块左侧位置 = item.left + (item.width - slider.width) / 2`
            left: this.tabList[activeIndex]._slider.left
          };
          // 为 scrollView 设置滚动位置
          this.scrollLeft = this.activeIndex * this.defaultConfig.underLineWidth;
        }
    回复 有任何疑惑可以回复我~ 2021-08-05 17:32:52
  • 提问者 昊6270195 #2
    滑动swiper页可以滑动就是当前上面的tab一直处在鼠标点击的问题
    回复 有任何疑惑可以回复我~ 2021-08-05 17:34:05
  • Sunday #3
    额,这样子代码没法看。要不你加我qq吧。把你的代码打个压缩包发给我我看看。在咱们的群里可以找到我
    回复 有任何疑惑可以回复我~ 2021-08-05 20:56:00
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号