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 select(列表)的操作(取值/赋值)
Mar 16 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
javascript图片滑动效果实现
Jan 28 Javascript
Bootstrap CSS组件之按钮组(btn-group)
Dec 17 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
Nov 10 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
npx create-react-app xxx创建项目报错的解决办法
Feb 17 Javascript
基于JS实现操作成功之后自动跳转页面
Sep 25 Javascript
Vue指令实现OutClick的示例
Nov 16 Javascript
vue-cropper组件实现图片切割上传
May 27 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
python实现统计代码行数的方法
2015/05/22 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python3.7 的新特性详解
2019/07/25 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
学生喝酒检讨书
2014/02/06 职场文书
感恩寄语大全
2014/04/11 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
公司2014年度工作总结
2014/12/10 职场文书
2015入党自荐书范文
2015/03/05 职场文书
施工安全员岗位职责
2015/04/11 职场文书
财务稽核岗位职责
2015/04/13 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
nginx容器方式反向代理实战
2022/04/18 Servers