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 一道字符串分解的题目
Aug 03 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
轻松搞定js表单验证
Oct 13 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
解决React Native端口号修改的方法
Jul 28 Javascript
JQuery判断正整数整理小结
Aug 21 jQuery
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 jQuery
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
vue+koa2搭建mock数据环境的详细教程
May 18 Javascript
jQuery实现简单评论区功能
Oct 26 jQuery
五步轻松实现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
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
ThinkPHP模型详解
2015/07/27 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
google 搜索框添加关键字实现代码
2010/04/24 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
javascript闭包的理解
2015/04/01 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
微信小程序之前台循环数据绑定
2017/08/18 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python交互模式基础知识点学习
2020/06/18 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
端口镜像是怎么实现的
2014/03/25 面试题
服装机修工岗位职责
2013/12/26 职场文书
秋天的图画教学反思
2014/05/01 职场文书
最常使用的求职信
2014/05/25 职场文书
旅游项目合作意向书
2015/05/08 职场文书
Python数据处理的三个实用技巧分享
2022/04/01 Python