85 lines
2.2 KiB
JavaScript
85 lines
2.2 KiB
JavaScript
let timeId = null;
|
|
Page({
|
|
data: {
|
|
history: [],
|
|
hot: ['新鲜芹菜', '大红枣', '滋补桂圆干'],
|
|
result: [
|
|
{
|
|
id: 1,
|
|
url: '../details/details',
|
|
thumb: '/image/s4.png',
|
|
title: '瓜子 100g',
|
|
price: 0.01
|
|
},
|
|
{
|
|
id: 2,
|
|
url: '../details/details',
|
|
thumb: '/image/s5.png',
|
|
title: '新鲜芹菜 500g',
|
|
price: 0.02
|
|
}
|
|
],
|
|
showKeywords: false,
|
|
keywords: ['山东肚脐橙', '湖南冰糖橙', '麻涌香蕉', '冰糖心苹果'],
|
|
value: '',
|
|
showResult: false,
|
|
},
|
|
cancelSearch() {
|
|
this.setData({
|
|
showResult: false,
|
|
showKeywords: false,
|
|
value: ''
|
|
})
|
|
},
|
|
searchInput(e) {
|
|
if(!e.detail.value){
|
|
this.setData({
|
|
showKeywords: false
|
|
})
|
|
}else{
|
|
if(!this.data.showKeywords){
|
|
timeId && clearTimeout(timeId);
|
|
timeId = setTimeout(() => {
|
|
this.setData({
|
|
showKeywords: true
|
|
})
|
|
}, 1000)
|
|
}
|
|
}
|
|
},
|
|
keywordHandle(e) {
|
|
const text = e.target.dataset.text;
|
|
this.setData({
|
|
value: text,
|
|
showKeywords: false,
|
|
showResult: true
|
|
})
|
|
this.historyHandle(text);
|
|
},
|
|
historyHandle(value) {
|
|
let history = this.data.history;
|
|
const idx = history.indexOf(value);
|
|
if (idx === -1) {
|
|
// 搜索记录只保留8个
|
|
if (history.length > 7) {
|
|
history.pop();
|
|
}
|
|
} else {
|
|
history.splice(idx, 1);
|
|
}
|
|
history.unshift(value);
|
|
wx.setStorageSync('history', JSON.stringify(history));
|
|
this.setData({
|
|
history
|
|
});
|
|
},
|
|
onLoad() {
|
|
const history = wx.getStorageSync('history');
|
|
if (history) {
|
|
this.setData({
|
|
history: JSON.parse(history)
|
|
})
|
|
console.log(this.data.history);
|
|
}
|
|
}
|
|
}) |