//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:''
},
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
self.setData({
list: arr,
hasMore: hasMore,
category: temp
})
}, function (res) {
})
},
/*-------------------- 交互----------*/
// 返回
back: function () {
wx.navigateBack({
})
},
// 清除输入框
clearInput: function () {
this.setData({
inputValue: '',
list: [],
searching: 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
})
},
bindInput: function (e) {
this.setData({
inputValue: e.detail.value
})
}
})