小程序--订单中的tab选项卡切换效果(未支付/已支付/已失效)

一、小程序中如果制作tab选项卡切换
思路:给每个tab都绑定了同一个方法,并且给每个tab都绑定不同的data-type值,当点击当前的tab,就获取当前tab的data-type值,并且赋值给dataType变量储存起来。这样就实现了点击效果
*******这里判断状态值的时候用到了三元运算符:
如名字表示的三元运算符需要三个操作数。语法为:条件表达式?表达式1:表达式2。说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。

(1) 在myorder.wxml页面中

<view class="toptab">   
<view class="btn1" bindtap="bindHeaderTap" class="{{dataType==='100'?'active':''}}" data-type="100">全部</view>   
<view class="btn2" bindtap="bindHeaderTap" class="{{dataType==='2'?'active':''}}" data-type="2">待支付</view>   
<view class="btn3" bindtap="bindHeaderTap" class="{{dataType==='0'?'active':''}}"  data-type="0">已支付</view>   
<view class="btn4" bindtap="bindHeaderTap" class="{{dataType==='3'?'active':''}}"  data-type="3">退款</view>
</view>

(2)在myorder.js页面

data: {    
shownone:false,    
dataType:'100', //默认data-type值为100,即选项卡选中第一个     
order:[] //订单列表  
},
/** * 切换标签   */  
bindHeaderTap: function (e) {    
    this.setData({ dataType: e.target.dataset.type });    
    console.log('状态值',this.data.dataType);   
    // 获取订单列表    
    this.getOrderList(e.target.dataset.type);  
  },

数据请求写在getOrderList()方法里面:

// 获取订单列表  
getOrderList: function (dataType) {
   wx.request({      
      url: '接口地址url',      
      method: 'GET',      
      header: {        
        'content-type': 'application/json' // 默认值      
      },       
      data: {        
         orderXh:xh,        
         orderStatus:this.data.dataType       
      },      
      success: function(res) {        
         console.log(res.data);         
         that.setData({          
            order:res.data.Data        
         });           
         console.log(res.data.Data);      
      }    
  });
}
//然后在onShow()方法再调用一下这个数据请求方法
onShow: function () {    
    this.getOrderList(this.data.dataType);  
},

(3)myorder.wxss文件

.toptab .active {  
   color: #fd4a5f;  
   border-bottom: 2rpx solid #ee2746;  
   text-align: center; 
}

(4)效果图
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML代码: ``` <div class="tab"> <button class="tablinks" onclick="openTab(event, 'tab1')">Tab 1</button> <button class="tablinks" onclick="openTab(event, 'tab2')">Tab 2</button> <button class="tablinks" onclick="openTab(event, 'tab3')">Tab 3</button> </div> <div id="tab1" class="tabcontent"> <h3>Tab 1 Content</h3> <p>This is the content of Tab 1.</p> </div> <div id="tab2" class="tabcontent"> <h3>Tab 2 Content</h3> <p>This is the content of Tab 2.</p> </div> <div id="tab3" class="tabcontent"> <h3>Tab 3 Content</h3> <p>This is the content of Tab 3.</p> </div> ``` CSS代码: ``` /* 隐藏所有选项内容 */ .tabcontent { display: none; } /* 样式化选项按钮 */ .tab { overflow: hidden; border: 1px solid #ccc; background-color: #f1f1f1; } .tab button { background-color: inherit; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; } .tab button:hover { background-color: #ddd; } .tab button.active { background-color: #ccc; } /* 样式化选项内容 */ .tabcontent { padding: 6px 12px; border: 1px solid #ccc; border-top: none; } ``` JavaScript代码: ``` function openTab(evt, tabName) { // 隐藏所有选项内容 var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } // 取消所有选项按钮的激活状态 tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } // 显示当前选项内容并激活按钮 document.getElementById(tabName).style.display = "block"; evt.currentTarget.className += " active"; } ``` 以上代码实现了一个简单的选项切换效果。点击每个按钮时,会显示对应的选项内容,并且激活该按钮。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值