1.首先需要在查詢之前獲取輸入的所在城市以及到的城市,以及時間的選擇,通過這些條件去篩選,所以需要在點擊查詢按鈕的時候綁定一個時間,需要攜帶參數去進行查詢
<navigator class="search" url="/pages/trainBuyContent/trainBuyContent?from={{from}}&to={{to}}&trainTime={{startDate}}">查詢</navigator>
2.需要到跳轉的頁面接收參數通過onload事件的options獲取
var from = options.from; var to = options.to; var trainTime = options.trainTime;
3.最重要的是篩選出相關數據,這里需要一個for循環的判斷語句,在請求數據地址URL的時候,通過for循環和if語句找出相對應的數據文件里面所對應的json數據。
wx.request({ url: API_BASE, success: (res) => { for(var i=0;i<res.data.data.trainList.length;i++){ if (from == res.data.data.trainList[i].from && to == res.data.data.trainList[i].to && trainTime == res.data.data.trainList[i].trainTime){ temp.push(res.data.data.trainList[i]); } } this.setData({ searchedList:temp }) } })
4.這時候再在頁面通過for循環輸出就可以了
wx:for="{{searchedList}}" wx:key="{{item.id}}" temp.push(res.data.data.trainList[i]); this.setData({ searchedList:temp })
*小程序頁面傳值的方式:1.url傳值2.本地儲存3.全局的app對象
1.先獲取全局對象,然后在點擊確定購買的success回調函數的時,去獲取所有的信息,以一個json格式去獲取
const app = getApp(); var trainedList = app.globalData.trainedList; var trainItem = { from: this.data.from, to: this.data.to, trainNum: this.data.trainNum, trainTime: this.data.trainTime, totalPrice: this.data.totalPrice }; trainedList.push(trainItem);
2.然后在相應的頁面去獲取這個全局的數組
onLoad: function (options) { this.setData({ trainedList: app.globalData.trainedList }) },
3.通過一個for循環讓其輸出在頁面
還有一部分功能未能展示或者未完善,請大家見諒。
第一次發表文章有點小慌張,寫的不好希望大家諒解,說實話,在我看來,這次所寫的東西確實有點'糙',但還是很開心自己能堅持寫下來,功能方面以后會繼續完善,希望能得到各位大佬們的意見和建議,沒啥說的,繼續努力吧,路漫漫其修遠兮,Just do it!