微信小程序tab切换

一:获取数据,初始化存储切换下标的变量以及数据

二:点击切换高亮同时设置子数据

1.定义变量

  data: {
    list:[],//总数据
    tabIndex:0,//tab切换利用的下标
    childrenList:[],//子数据
  },

2.获取数据并且赋值

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //调用获取数据函数
      this.getList();
  },
  //获取数据函数
  getList(){
    wx.request({
      url: 'http://localhost:3000/data',//请求地址
      method:"get",//请求的方法
      success:(res)=>{//成功的返回值(注意:这里要用箭头函数要不然无法访问this);
        console.log("res:",res);//{data: Array(10)....}
        //修改保存数据的变量
        this.setData({
          list:res.data,//list是在data中定义的变量
          childrenList:res.data[0].children//初始化子数据
        })
      }
    })
  },

3.进行渲染

<view class="home-box">
	<View class="home-nav">
		<block wx:for="{{list}}" wx:key="id">
		<!-- 利用三运算符做高亮处理 -->
		<!-- bindtap点击事件处理下标 -->
		<!-- data-index将下标传给事件 -->
			<button 
			type="{{tabIndex===index?'primary':'default'}}" 
			size="mini" 
			bindtap="setTabInde" 
			data-index="{{index}}"
			>{{item.title}}</button>
		</block>
	</View>
	<view class="home-list">
	<!-- 循环渲染子数据 -->
		<block wx:for="{{childrenList}}" wx:key="id">
			<view class="list-item">
				<image src="{{item.src}}"></image>
				<text>数量:{{item.num}}</text>
			</view>
		</block>
	</view>
</view>

4.设置tabindex完成切换


  //设置tabindex完成切换
  setTabInde(e){
    // console.log("e:",e.currentTarget.dataset.index)

    //找到所点击的下标赋值给tabindex完成高亮
    //设置高亮以及子数据
    this.setData({
      tabIndex:e.currentTarget.dataset.index,//高亮
      childrenList:this.data.list[e.currentTarget.dataset.index].children//设置子数据
    })
  },

效果:

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值