fix: 搜索历史删除保存错误

This commit is contained in:
orz12
2024-03-03 23:12:57 +08:00
parent 98a56eca71
commit 2a46652cc7

View File

@@ -12,9 +12,9 @@ class SSearchController extends GetxController {
RxString searchKeyWord = ''.obs; RxString searchKeyWord = ''.obs;
Rx<TextEditingController> controller = TextEditingController().obs; Rx<TextEditingController> controller = TextEditingController().obs;
RxList<HotSearchItem> hotSearchList = <HotSearchItem>[].obs; RxList<HotSearchItem> hotSearchList = <HotSearchItem>[].obs;
Box histiryWord = GStrorage.historyword; Box historyWord = GStrorage.historyword;
List historyCacheList = []; List<String> historyCacheList = [];
RxList historyList = [].obs; RxList<String> historyList = <String>[].obs;
RxList<SearchSuggestItem> searchSuggestList = <SearchSuggestItem>[].obs; RxList<SearchSuggestItem> searchSuggestList = <SearchSuggestItem>[].obs;
final _debouncer = final _debouncer =
Debouncer(delay: const Duration(milliseconds: 200)); // 设置延迟时间 Debouncer(delay: const Duration(milliseconds: 200)); // 设置延迟时间
@@ -36,7 +36,7 @@ class SSearchController extends GetxController {
searchKeyWord.value = hintText; searchKeyWord.value = hintText;
} }
} }
historyCacheList = histiryWord.get('cacheList') ?? []; historyCacheList = List<String>.from(historyWord.get('cacheList')??[]);
historyList.value = historyCacheList; historyList.value = historyCacheList;
enableHotKey = setting.get(SettingBoxKey.enableHotKey, defaultValue: true); enableHotKey = setting.get(SettingBoxKey.enableHotKey, defaultValue: true);
} }
@@ -69,14 +69,14 @@ class SSearchController extends GetxController {
} }
searchKeyWord.value = hintText; searchKeyWord.value = hintText;
} }
List arr = historyCacheList.where((e) => e != searchKeyWord.value).toList(); List<String> arr = historyCacheList.where((e) => e != searchKeyWord.value).toList();
arr.insert(0, searchKeyWord.value); arr.insert(0, searchKeyWord.value);
historyCacheList = arr; historyCacheList = arr;
historyList.value = historyCacheList; historyList.value = historyCacheList;
// 手动刷新 // 手动刷新
historyList.refresh(); historyList.refresh();
histiryWord.put('cacheList', historyCacheList); historyWord.put('cacheList', historyCacheList);
searchFocusNode.unfocus(); searchFocusNode.unfocus();
Get.toNamed('/searchResult', parameters: {'keyword': searchKeyWord.value}); Get.toNamed('/searchResult', parameters: {'keyword': searchKeyWord.value});
} }
@@ -118,15 +118,14 @@ class SSearchController extends GetxController {
onLongSelect(word) { onLongSelect(word) {
int index = historyList.indexOf(word); int index = historyList.indexOf(word);
historyList.value = historyList.removeAt(index); historyList.removeAt(index);
historyList.refresh(); historyWord.put('cacheList', historyList);
histiryWord.put('cacheList', historyList);
} }
onClearHis() { onClearHis() {
historyList.value = []; historyList.value = [];
historyCacheList = []; historyCacheList = [];
historyList.refresh(); historyList.refresh();
histiryWord.put('cacheList', []); historyWord.put('cacheList', []);
} }
} }