flutter 实现搜索历史功能,缓存记录
// 保存搜索记录。
·
使用三方库:
shared_preferences: ^2.1.0
```````
/// 保存搜索记录 Future<bool> setSearch( String search) async { List<String> defsearch =[]; if(search.isNotEmpty){ final SharedPreferences prefs = await SharedPreferences.getInstance(); List<String>? searchList = prefs.getStringList('searchLists')?.reversed.toList() ?? defsearch ; prefs.setStringList('searchLists', searchList! ); if(!(searchList.contains(search))){ if(searchList.length<10){ searchList.add(search); prefs.setStringList('searchLists', searchList.reversed.toList() ); }else{ searchList.add(search); prefs.setStringList('searchLists', searchList.reversed.toList().sublist(0,10) ); } }else{ late int index = searchList.indexOf(search); searchList.removeAt(index); searchList.add(search); prefs.setStringList('searchLists', searchList.reversed.toList() ); } return true; }else{ return false; } } Future<List<String>> getSearch() async { List<String> defsearch =[]; final SharedPreferences prefs = await SharedPreferences.getInstance(); List<String>? _searchList = prefs.getStringList('searchLists'); print(_searchList); List<String> searchList = _searchList ?? defsearch ; return searchList; } Future<bool> remoSearch() async { final SharedPreferences prefs = await SharedPreferences.getInstance(); Future<bool> isContainKey = prefs.setStringList("searchLists",[]); return isContainKey; }
```````
更多推荐
已为社区贡献5条内容
所有评论(0)