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 相关文章推荐
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 Javascript
写给想学习Javascript的朋友一点学习经验小结
Nov 23 Javascript
关于JavaScript中string 的replace
Apr 12 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
Apr 29 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
Jan 04 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
vue实现Toast组件轻提示
Apr 10 Vue.js
五步轻松实现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中路径问题的解决方案
2006/10/09 PHP
967 个函式
2006/10/09 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
解析PHP 使用curl提交json格式数据
2013/06/29 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
六行python代码的爱心曲线详解
2019/05/17 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
如何判断计算机可能已经中马
2013/03/22 面试题
比赛口号大全
2014/06/10 职场文书
名人演讲稿范文
2014/09/16 职场文书
2014年保密工作总结
2014/11/22 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
迎新年主持词
2015/07/06 职场文书
心理健康教育主题班会
2015/08/13 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python