let localMap = new Map(),// 定义一个全局的MAP对象 typeCode = ''; // 点击分类里面的细分选项卡 handleClickTabs(e) { let id = e.target.dataset.index, code = e.target.dataset.id; typeCode = code;// 这里定义code,在请求回调里面使用 this.setData({ leftTab : id }); if (localMap!=null) {// map对象 let list = localMap.get(typeCode);//获取对应分类的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)); } }, //分类里面的内容 handleGoodsSon(res) { let list = res.data; localMap.set(typeCode,list)//存对应typeCode的list this.setData({ tabSonList:list }) },
登录后复制
这样就实现了,对选项卡的优化,如果接口数据变多了的话,会重新赋值。 虽然是自己给自己加戏,但这是也是我的一种工作态度,学习了新东西,还让优化了项目。
相信看了本文案例你已经掌握了方法,更多精彩请关注有卡有网。