let localMap = new Map(),// 定義一個全局的MAP對象 typeCode = ''; // 點擊分類里面的細分選項卡 handleClickTabs(e) { let id = e.target.dataset.index, code = e.target.dataset.id; typeCode = code;// 這里定義code,在請求回調(diào)里面使用 this.setData({ leftTab : id }); if (localMap!=null) {// map對象 let list = localMap.get(typeCode);//獲取對應(yīng)分類的type的code if (list!=null) {//map里面有值,渲染頁面 this.setData({ tabSonList:list }) }else {//map里面沒有值,去請求接口 const data = { goodsTypeCode: code }; utils.sendRequest(api.ClassifySon, data, this.handleGoodsSon.bind(this)); } }else { const data = { goodsTypeCode: code }; utils.sendRequest(api.ClassifySon, data, this.handleGoodsSon.bind(this)); } }, //分類里面的內(nèi)容 handleGoodsSon(res) { let list = res.data; localMap.set(typeCode,list)//存對應(yīng)typeCode的list this.setData({ tabSonList:list }) },
登錄后復(fù)制
這樣就實現(xiàn)了,對選項卡的優(yōu)化,如果接口數(shù)據(jù)變多了的話,會重新賦值。 雖然是自己給自己加戲,但這是也是我的一種工作態(tài)度,學(xué)習(xí)了新東西,還讓優(yōu)化了項目。
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注有卡有網(wǎng)。