在最近的項目里有一個需求,就是需要一個帶搜索記錄的輸入框,但是不需要用到后臺,就想到了使用本地緩存setStorageSync。
總結一下需要注意的點:
1、按搜索時間倒序。
-
unshift:在數(shù)組前面插入數(shù)據(jù),并改變數(shù)組。
2、搜索內容前后添加了空格的時候。
-
string.trim();//去掉前后空格
3、最多緩存多少條搜索記錄。
-
// 如果超過8條搜索記錄的話,刪掉最舊的一條
-
if (searchData.length >= 8)searchData.pop();
-
//pop:刪除數(shù)組最后一個元素。
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請查看修改一下,問題應該不大。
|