首页 > web前端 > js教程 > 正文

实例详解vue仿淘宝订单状态的tab切换效果

小云云
发布: 2017-12-28 11:46:32
原创
3147人浏览过

本文主要为大家详细介绍了vue仿淘宝订单状态tab切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

前几天刚开始使用vue 做项目,然后自己就在项目中摸索写了一个tab切换的小dome,仿淘宝订单状态的tab切换。

HTML 代码:


<p class="navigation">
 //这里是通过循环遍历出来的数据,你需要根据index的值来判断你现在点击的是第几个tab栏导航,同时在js中写一个navChange的方法来把index 传递到就js中来改变tabIndex(这是在初始化时设置的默认index)的值
  <span v-for="(item, index) in navItems" v-touch:tap=" { event: navChange, params: [index] }">
   <em> {{item.text}} </em>   
  </span>
</p>
 //上面的v-touch:tap 是我们自己封装的点击事件指令,跟v-click用法差不多

<p class="content">
 <p class="main">
  //p item中是需要切换的订单数据,for循环遍历的是各种订单状态的集合orderAllItem,然后通过选择的tab值对应的index来判断调用orderAllItem中的第几个数组进行循环遍历
  <p class="item" v-for="item in orderAllItem[tabIndex]">
    <p class="title">
     <span class="id">订单号:{{item.orderId}}</span>
     <span class="status" >{{item.statusName}}</span>
    </p>
    <p class="toys" v-touch:tap="{ event: goToDetail, params: [item.orderId]}">
     <p class="toy" v-for="toy in item.toys">
      <img class="toyImg" :src="toy.image"/>
      <p class="area">
       <em class="name">{{toy.toyName}}</em>
       <span class="age">适合年龄:{{toy.ageRange}}</span
      </p>
     </p>
    </p>
   </p>
  </p>
</p>
登录后复制

JS代码


var _default = (function(){
 var navs = [
  {
   'text': '全部订单', 
  },
  {
   'text': '待付款',
  },
  {
   'text': '待收货',
  },   
  {
   'text': '待归还',
  },
  {
   'text': '已完成',
  }
 ];
 var orders= [
  //因为没有合适的数据来源,所以假装这里就是从后端请求的所有的订单集合,在下边data中你需要吧你分类的订单根据状态进行分类。
 ];
 return {
  name: 'index',
  mounted: function(){

  },
  destoryed: function(){

  },
  data: function(){
   //待付款
   var paymentsItem = [];
   //待收货
   var receiptsItem = [];
   //待归还
   var returnsItem = [];
   //已完成
   var completesItem = [];

   //把所有不同状态的订单通过if判断push到相对应的订单状态集合中。
   orders.forEach(function(order){
    if(order.status == 0){
     paymentsItem.push(order);
    };
    if(order.status == 3){
     receiptsItem.push(order);
    };
    if(order.status == 5){
     returnsItem.push(order);
    };
    if(order.status == 13){
     completesItem.push(order);
    }
   });
   //设置一个空数组,把所有状态下的订单集合放到空数组中,从0-5的顺序按照你的自己设置的tab切换的内容0-5的顺序对应排列,
   var orderAll = [ orders, paymentsItem, receiptsItem, returnsItem, completesItem];
   console.log(orderAll);
   return {
    navItems : navs,
    //全部订单分类的集合
    orderAllItem : orderAll,
    //设置
    tabIndex : 0,
   };
  },
  methods: {
   navChange: function (e, index){

    this.tabIndex = index;
//    console.log(this.tabIndex)
   }
  }
 }
})();

export default _default;
登录后复制

相关推荐:

立即学习前端免费学习笔记(深入)”;

火龙果写作
火龙果写作

用火龙果,轻松写作,通过校对、改写、扩展等功能实现高质量内容生产。

火龙果写作 106
查看详情 火龙果写作

vue.js实现仿淘宝结账页面实例分享

JavaScript仿淘宝实现放大镜效果的实例

Javascript小案例:仿淘宝搜索框用户输入

以上就是实例详解vue仿淘宝订单状态的tab切换效果的详细内容,更多请关注php中文网其它相关文章!

淘宝
淘宝

淘宝是一个好逛、丰富、有趣的消费生活社区,每天有亿万消费者来淘宝“逛街”:发现好物、找到乐趣、表达体验……淘宝能满足人们生活中的各种需求,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号