vue仿淘寶訂單狀態(tài)的tab切換效果
前幾天剛開始使用vue 做項(xiàng)目,然后自己就在項(xiàng)目中摸索寫了一個(gè)tab切換的小dome,仿淘寶訂單狀態(tài)的tab切換。
HTML 代碼:
<div class="navigation"> //這里是通過循環(huán)遍歷出來的數(shù)據(jù),你需要根據(jù)index的值來判斷你現(xiàn)在點(diǎn)擊的是第幾個(gè)tab欄導(dǎo)航,同時(shí)在js中寫一個(gè)navChange的方法來把index 傳遞到就js中來改變tabIndex(這是在初始化時(shí)設(shè)置的默認(rèn)index)的值 <span v-for="(item, index) in navItems" v-touch:tap=" { event: navChange, params: [index] }"> <em> {{item.text}} </em> </span> </div> //上面的v-touch:tap 是我們自己封裝的點(diǎn)擊事件指令,跟v-click用法差不多 <div class="content"> <div class="main"> //div item中是需要切換的訂單數(shù)據(jù),for循環(huán)遍歷的是各種訂單狀態(tài)的集合orderAllItem,然后通過選擇的tab值對(duì)應(yīng)的index來判斷調(diào)用orderAllItem中的第幾個(gè)數(shù)組進(jìn)行循環(huán)遍歷 <div class="item" v-for="item in orderAllItem[tabIndex]"> <div class="title"> <span class="id">訂單號(hào):{{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= [ //因?yàn)闆]有合適的數(shù)據(jù)來源,所以假裝這里就是從后端請(qǐng)求的所有的訂單集合,在下邊data中你需要吧你分類的訂單根據(jù)狀態(tài)進(jìn)行分類。 ]; return { name: 'index', mounted: function(){ }, destoryed: function(){ }, data: function(){ //待付款 var paymentsItem = []; //待收貨 var receiptsItem = []; //待歸還 var returnsItem = []; //已完成 var completesItem = []; //把所有不同狀態(tài)的訂單通過if判斷push到相對(duì)應(yīng)的訂單狀態(tài)集合中。 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); } }); //設(shè)置一個(gè)空數(shù)組,把所有狀態(tài)下的訂單集合放到空數(shù)組中,從0-5的順序按照你的自己設(shè)置的tab切換的內(nèi)容0-5的順序?qū)?yīng)排列, var orderAll = [ orders, paymentsItem, receiptsItem, returnsItem, completesItem]; console.log(orderAll); return { navItems : navs, //全部訂單分類的集合 orderAllItem : orderAll, //設(shè)置 tabIndex : 0, }; }, methods: { navChange: function (e, index){ this.tabIndex = index; // console.log(this.tabIndex) } } } })(); export default _default;
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue仿攜程輪播圖效果(滑動(dòng)輪播,下方高度自適應(yīng))
這篇文章主要介紹了vue仿攜程輪播圖效果(滑動(dòng)輪播,下方高度自適應(yīng)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Vue3 directive自定義指令內(nèi)部實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Vue3 directive自定義指令內(nèi)部實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12在Vue項(xiàng)目中取消ESLint代碼檢測的步驟講解
今天小編就為大家分享一篇關(guān)于在Vue項(xiàng)目中取消ESLint代碼檢測的步驟講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01Element?Plus組件Form表單Table表格二次封裝的完整過程
一般在后臺(tái)管理系統(tǒng)的開發(fā)中,都會(huì)遇到很多table,但每一次都去引入el-table就會(huì)導(dǎo)致代碼十分冗余,所以基于組件做一下二次封裝成自己需要的組件就十分nice,下面這篇文章主要給大家介紹了關(guān)于Element?Plus組件Form表單Table表格二次封裝的相關(guān)資料,需要的朋友可以參考下2022-09-09vue中keep-alive、activated的探討和使用詳解
這篇文章主要介紹了vue中keep-alive、activated的探討和使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue復(fù)雜表格單元格合并根據(jù)數(shù)據(jù)動(dòng)態(tài)合并方式
這篇文章主要介紹了vue復(fù)雜表格單元格合并根據(jù)數(shù)據(jù)動(dòng)態(tài)合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02詳解Vue 動(dòng)態(tài)組件與全局事件綁定總結(jié)
這篇文章主要介紹了詳解Vue 動(dòng)態(tài)組件與全局事件綁定總結(jié),從示例中發(fā)現(xiàn)并解決問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11vue使用動(dòng)畫實(shí)現(xiàn)滾動(dòng)表格效果
這篇文章主要為大家詳細(xì)介紹了vue使用動(dòng)畫實(shí)現(xiàn)滾動(dòng)表格效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例
這篇文章主要介紹了Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11