这期内容当中小编将会给大家带来有关怎么在微信小程序中实现一个搜索历史功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
首先,定义历史记录的显示风格和方式
<view wx:for="{{sercherStorage}}" wx:key="item.id">
<view class="liclass" id="{{item.id}}" bindtap="tapSercherStorage">
<text >{{item.name}}</text>
</view>
</view>
其次是“清除历史记录”按钮,个人建议在没有搜索历史的时候不显示按钮,因为在下有些强迫症
<view wx:if="{{sercherStorage.length!==0}}" bindtap="clearSearchStorage">
<view class="history-span">清除历史记录</view>
</view>
(微信小程序的数据交互还是蛮喜欢的)
这里是列表的CSS样式
/*搜索历史列表外部容器样式*/
.ddclass {
position: absolute;
width: 100%;
margin-top: 10px;
left: 0;
}
/*搜索历史普通样式*/
.liclass {
font-size: 14px;
line-height: 34px;
color: #575757;
height: 34px;
display: block;
padding-left: 18px;
background-color: #fff;
border-bottom: 1px solid #dbdbdb;
}
最后是一些JS控制
1、参数声明
data: {
sercherStorage: [],
StorageFlag: false //显示搜索记录标志位
}
2、两个主要的JS方法
//清除缓存历史
clearSearchStorage: function () {
wx.removeStorageSync('searchData')
this.setData({
sercherStorage: [],
StorageFlag: false,
})
},
//打开历史记录列表
openLocationsercher: function () {
this.setData({
sercherStorage: wx.getStorageSync('searchData') || [],
StorageFlag: true,
listFlag: true,
})
}
3、点击搜索添加搜索内容进历史记录
var self = this;
if(self.data.search.length == 0){
return;
}
//控制搜索历史
var self = this;
if (this.data.search != '') {
//将搜索记录更新到缓存
var searchData = self.data.sercherStorage;
searchData.push({
id: searchData.length,
name: self.data.search
})
wx.setStorageSync('searchData', searchData);
self.setData({ StorageFlag: false, })
}
4、在进入搜索页面时,检索出缓存中的搜索历史。(适用于搜索页面是单独页面的业务)
onLoad: function (options) {
this.openLocationsercher();
}
上述就是小编为大家分享的怎么在微信小程序中实现一个搜索历史功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。