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 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
基于Jquery的实现回车键Enter切换焦点
Sep 14 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
Feb 05 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
React-Router如何进行页面权限管理的方法
Dec 06 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
详解Vue中使用Axios拦截器
Apr 22 Javascript
如何使用JS console.log()技巧提高工作效率
Oct 14 Javascript
JavaScript实现无限轮播效果
Nov 19 Javascript
js作用域及作用域链工作引擎
Jul 07 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实现163邮箱自动发送邮件
2016/03/29 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python中property函数用法实例分析
2018/06/04 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
python3.4中清屏的处理方法
2020/07/06 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
CLR与IL分别是什么含义
2016/08/23 面试题
园林资料员岗位职责
2013/12/30 职场文书
20岁生日感言
2014/01/13 职场文书
小学教研工作制度
2014/01/15 职场文书
学生打架检讨书大全
2014/01/23 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
苏州园林导游词
2015/02/03 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server