先看页面效果
简介
- 输入值回车搜索,会把搜索值加入缓存中。
- 点击历史记录可直接搜索,点击“暂未搜索记录”
没有效果哦 - 清空记录就是清空缓存
- 使用的技术
1. uni.getStorage({}),uni.setStorage({})
2. unshift()
3. pop()
代码
主要就是自己的页面,直接复制方法就可以,注释很清晰,一看就懂
data () {
return {
search_val:"",
yaopinList:[]
}
},
onLoad: function(){
this.getSearchHistroy();
},
methods:{
getSearchHistroy(){
let self = this;
uni.getStorage({
key: 'search_histroy',
success: function (res) {
if(res.data.length == 0){
console.log("暂未搜索历史");
self.yaopinList = []
self.yaopinList.unshift("暂未搜索历史")
}else{
self.yaopinList = res.data
}
},
fail:function(res){
console.log("暂未搜索历史");
self.yaopinList = []
self.yaopinList.unshift("暂未搜索历史")
}
});
cleanHistory(){
let self = this;
uni.removeStorage({
key: 'search_histroy',
success: function (res) {
self.getSearchHistroy();
}
});
},
searchByHis(hisname){
if(hisname == "暂未搜索历史"){
return
}
this.search_val = hisname;
this.searchByVal();
},
searchByVal(){
let data = [];
let self = this;
for (var i = 0; i < self.yaopinList.length; i++) {
if(self.yaopinList[i] == "暂未搜索历史"){
continue;
}
data.unshift(self.yaopinList[i])
}
data.unshift(this.search_val);
if(data.length > 5){
data.pop();
}
uni.setStorage({
key: 'search_histroy',
data: data,
success: function () {
uni.navigateTo({
url: "你要跳转的地址,带着你的搜索值,也可以直接搜索"
})
}
});
}
},
}
|