大多數(shù)的商城類小程序都有這個功能,點擊“全部訂單”,“待付款”,“待發(fā)貨”,“待收貨”,“已完成”,會跳轉(zhuǎn)頁面且跳至與之相對應(yīng)的選項卡中。所以我們在開發(fā)該小程序時也做了相同的功能。如下圖:

但是我們在最后做交互的時候,并沒有使用該效果,下篇再說這個!先說說這個效果是如何實現(xiàn)的!
選項卡靜態(tài)布局思路: 主要用到 scroll-view與 swiper標(biāo)簽,選項卡切換主要依靠 swiper 中的 current 屬性,不懂請自行查看小程序API。
跳轉(zhuǎn)頁面且跳至與之相對應(yīng)的選項卡思路:
首先在 app.js 中配置 globalData。
在“個人中心” js 文件中配置點擊該項跳轉(zhuǎn)至與之對應(yīng)的 tab 的 index。
在“個人中心”跳轉(zhuǎn)頁面時通過 globalData 傳遞 index 給“全部訂單”頁面,“全部訂單”頁面通過 app.globalData.currentLocation 接受數(shù)據(jù),改變選項卡的切換。
app.js 代碼
-
globalData: {
-
userInfo: null
-
}
個人中心 wxml 代碼
-
<!--九宮格 -->
-
<view class="page">
-
<view class="page__bd">
-
<view class="weui-grids">
-
<view class="allrec" bindtap="allForm">
-
<text>我的訂單</text>
-
<view class="more">查看更多訂單</view>
-
<image class='moreImg' src='../../img/more.png'></image>
-
</view>
-
<!--待付款 -->
-
<view class="weui-grid" hover-class="weui-grid_active" bindtap="noPay">
-
<image class="weui-grid__icon" src="../../img/wallet.png" />
-
<view class="weui-badge" hidden="{{false}}">{{badgeNum1}}</view>
-
<view class="weui-grid__label label">待付款</view>
-
</view>
-
-
<!--待發(fā)貨 -->
-
<view class="weui-grid" hover-class="weui-grid_active" bindtap="noSend">
-
<image class="weui-grid__icon" src="../../img/wallet-1.png" />
-
<view class="weui-badge" hidden="{{false}}">{{badgeNum1}}</view>
-
<view class="weui-grid__label label">待發(fā)貨</view>
-
</view>
-
-
<!--已發(fā)貨 -->
-
<view class="weui-grid" hover-class="weui-grid_active" bindtap="sended">
-
<image class="weui-grid__icon" src="../../img/wallet-2.png" />
-
<view class="weui-badge" hidden="{{false}}">{{badgeNum1}}</view>
-
<view class="weui-grid__label label">待收貨</view>
-
</view>
-
-
<!--已完成 -->
-
<view class="weui-grid" hover-class="weui-grid_active" bindtap="completed">
-
<image class="weui-grid__icon" src="../../img/wallet-3.png" />
-
<view class="weui-grid__label label">已完成</view>
-
</view>
-
</view>
-
</view>
-
</view>
個人中心 js 代碼
-
var app = getApp()
-
var util = require('../../utils/util.js')
-
var formatLocation = util.formatLocation
-
-
Page({
-
data: {
-
},
-
// 指定 全部訂單 和 九宮格中按鈕 點擊跳轉(zhuǎn)至 選項卡中 與之對應(yīng)的tab
-
allForm:function(){
-
app.globalData.currentLocation = 0,
-
wx.navigateTo({ url: '../orderForm/orderForm' })
-
},
-
noPay:function(){
-
app.globalData.currentLocation = 1,
-
wx.navigateTo({ url: '../orderForm/orderForm' })
-
},
-
noSend
|