在最近的项目里有一个需求,就是需要一个带搜索记录的输入框,但是不需要用到后台,就想到了使用本地缓存setStorageSync。
总结一下需要注意的点:
1、按搜索时间倒序。
unshift:在数组前面插入数据,并改变数组。
2、搜索内容前后添加了空格的时候。
string.trim();//去掉前后空格
3、最多缓存多少条搜索记录。
// 如果超过8条搜索记录的话,删掉最旧的一条 if (searchData.length >= 8)searchData.pop(); //pop:删除数组最后一个元素。
4、输入了搜索记录已经有了的内容。
//先删除搜索记录里面的,再添加元素到第一位 // 如果搜索记录里面有重复的,要做删除操作 for (let i = 0; i < searchData.length; i++) { if (searchData[i] == this.data.inputValue.trim()){ searchData.splice(i,1); break; } } // 添加搜索记录 searchData.unshift(inputValue.trim());
github地址:https://github.com/chenweihuan/searchHaveHistory
只上传了关键代码,如有bug请查看修改一下,问题应该不大。