//index.js //获取应用实例 var app = getApp() var networkUtil = require('../../utils/network_util.js') var api = require('../../utils/apiFile.js') var page // 是否有更多 var hasMore var isRefresh Page({ data: { // 搜索结果 list: [], selectHide: false, inputValue: '', // 搜索词汇 getSearch: [], modalHidden: true, searching:false, test:'', noData:'no' }, onLoad: function () { var getSearch = wx.getStorageSync('searchData'); this.setData({ getSearch: getSearch.reverse(), inputValue: '' }) }, /*-------------------- ----------*/ // 设置缓存 setSearchStorage: function () { let data; let localStorageValue = []; if (this.data.inputValue != '') { //调用API从本地缓存中获取数据 var searchData = wx.getStorageSync('searchData') || [] searchData.push(this.data.inputValue) wx.setStorageSync('searchData', searchData) this.setData({ getSearch: searchData.reverse(), }) } else { console.log('空白') } }, // 加载数据 loadData(text){ var self = this isRefresh = true var param = { k: text, limit: 30, page:1} networkUtil.showLoading() networkUtil._get(api.search, param, function (res) { console.log('数据-----', res) isRefresh = false var arr = [] if (page > 0) {// 加载更多模式 arr = self.data.list } if (res.data.list.length < 15) { hasMore = false } arr = arr.concat(res.data.list) var temp = self.data.category var haveData = false if(arr.length == 0){ haveData = true } self.setData({ list: arr, hasMore: hasMore, category: temp, noData:haveData }) }, function (res) { }) }, /*-------------------- 交互----------*/ // 返回 back: function () { wx.navigateBack({ }) }, // 清除输入框 clearInput: function () { this.setData({ inputValue: '', list: [], searching: false, noData: false }) }, // 输入完成 inputEnd:function(e){ networkUtil.showLoading() this.setData({ inputValue: e.detail.value, searching: true, list:[] }) this.setSearchStorage() this.loadData(e.detail.value) }, // 清除所有历史 clearAll: function () { wx.setStorageSync('searchData', []) this.setData({ getSearch: [], }) }, // 选择该项历史 selectThis: function (e) { this.setData({ inputValue: e.currentTarget.dataset.text, searching: true }) this.loadData(e.currentTarget.dataset.text) }, // 删除该项历史 deletThis: function (e) { var data = this.data.getSearch data.splice(e.currentTarget.dataset.index,1) this.setData({ getSearch: data }) }, inputText: function (e) { if (e.detail.value == ''){ this.clearInput() return } this.setData({ inputValue: e.detail.value }) } })