小程序tab选项卡请求我的订单数据筛选处理(待收货、代发货、已完成等)

1、页面

<view class="navbar">
  <lable wx:for="{
   {navbar}}" data-idx="{
   {index}}" class="item {
   {currentTab==index ? 'active' : ''}}" wx:key="unique" bindtap="navbarTap">
 //item在js文件里面定义数组 
    <text>{
   {
   item}}</text>
  </lable>
</view>

2、js 里面的data数据

 data: {
   
    // 顶部菜单切换
    navbar: ['全部', '代付款', "代发货", "待收货", "已完成"],
    // 默认选中菜单
    index: 0,
    currentTab:0,
    listArray:[],//显示的订单
    showOrderList:[],//获取的订单
  },

3、把所有订单请求下来

  //查询所有订单
    _selectByUserIdNormal(id) {
   
    //此请求方法是封装的,也可以用request直接请求数据
      selectByUserIdNormal(id).then(res => {
   
        console.log(res);
        this.setData({
   
          listArray : res.data.data,
          showOrderList:res.data.data
        })

      }).catch(err => {
   
        console.log(err);
      })
    },

4、处理点击事件

//顶部tab切换
    navbarTap: function (e) {
   
      console.log(e.currentTarget.dataset.idx);
      var that = this;
      that.setData({
   
        currentTab: e.currentTarget.dataset.idx
      })

      if(that.data.currentTab === 0){
   
        console.log("回到全部");
        console.log(that.data.showOrderList);
        that.setData({
   
            listArray : that.data.showOrderList
          })
      }else{
   
        let listArray = []
        for (let i = 0; i < that.data.showOrderList.length; i++) {
   
          if (that.data.showOrderList[i].status == that.data.currentTab) {
   
            console.log("筛选数据")
            listArray.push(that.data.showOrderList[i]);
          }
        }
        that.setData({
   
          listArray: listArray
        })
      }     
    }

完整js

// components/ordercpn/ordercpn.js
import {
   
  selectByUserIdNormal
} from "/../../utils/networkutils/order.js"
Component({
   
  /**
   * 组件的属性列表
   */
  properties: {
   
    innerTitle:{
   
      type:String,
      value:""
    },
    isShowSearch:{
   
      type: String,
      value: ""
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
   
    // 顶部菜单切换
    navbar: ['全部', '代付款', "代发货", "待收货", "已完成"],
    // 默认选中菜单
    index: 0,
    pick_name: "",
    currentTab:0,
    listArray:[],//显示的订单
    showOrderList:[],//获取的订单
  },

  // 初始化加载
  created: function () {
   
    var that = this;
    wx.getStorage({
   
      key: 'userinfo',
      success: function (res) {
   
        console.log(res.data);
        if (res.data) {
   
          that.setData({
   
            isLogin: true,
            list: res.data
          })
        } else {
   
          that.setData({
   
            isLogin: false
          })
        }
        that.setData({
   
          userid: res.data.id
        })
        var userid = res.data.id;
        that._selectByUserIdNormal(userid);
      }, fail: function (err) {
   

      }
    })
  },


  /**
   * 组件的方法列表
   */
  methods: {
   

    //顶部tab切换
    navbarTap: function (e) {
   
      console.log(e.currentTarget.dataset.idx);
      var that = this;
      that.setData({
   
        currentTab: e.currentTarget.dataset.idx
      }
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员张礼奎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值