vue仿淘宝订单状态的tab切换效果


Posted in Javascript onJune 23, 2020

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

HTML 代码:

<div 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>
</div>
 //上面的v-touch:tap 是我们自己封装的点击事件指令,跟v-click用法差不多

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

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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用Javascript实现Sleep暂停功能代码
Sep 03 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
js与jquery回车提交的方法
Feb 03 Javascript
Jquery使用val方法读写value值
May 18 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
js合并两个数组生成合并后的key:value数组
May 09 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 Javascript
Vue3.0 响应式系统源码逐行分析讲解
Oct 14 Javascript
五步轻松实现zTree的使用
Nov 01 #Javascript
BootStrap TreeView使用实例详解
Nov 01 #Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 #Javascript
详解Vue组件实现tips的总结
Nov 01 #Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
Nov 01 #Javascript
Angular 4根据组件名称动态创建出组件的方法教程
Nov 01 #Javascript
js前端导出Excel的方法
Nov 01 #Javascript
You might like
深入PHP FTP类的详解
2013/06/13 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
js汉字转拼音实现代码
2013/02/06 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
代码分析vue中如何配置less
2018/09/28 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
2018/10/16 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
python实现小世界网络生成
2019/11/21 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
百度JavaScript笔试题
2015/01/15 面试题
个人先进材料范文
2014/12/30 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers