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 事件冒泡简介及应用
Jan 11 Javascript
javascript preload&amp;lazy load
May 13 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
jquery 插件学习(六)
Aug 06 Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
js控制frameSet示例
Sep 10 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
JQuery右键菜单插件ContextMenu使用指南
Dec 19 Javascript
JS获取时间的方法
Jan 21 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
bootstrap Table的一些小操作
Nov 01 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实现的MongoDB数据库操作类分享
2014/05/12 PHP
YII实现分页的方法
2014/07/09 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
取得父标签
2006/11/14 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
常用python编程模板汇总
2016/02/12 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
事业单位请假制度
2014/01/13 职场文书
求职自荐信怎么写
2014/03/06 职场文书
大学学习计划书范文
2014/05/02 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js