opt: multi del

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-06 18:03:09 +08:00
parent b239737498
commit 3a15353bc4
2 changed files with 15 additions and 6 deletions

View File

@@ -105,11 +105,15 @@ class FavDetailController extends MultiSelectController {
); );
if (result['status']) { if (result['status']) {
List dataList = (loadingState.value as Success).response; List dataList = (loadingState.value as Success).response;
Set remainList = dataList.toSet().difference(list.toSet()); List remainList =
dataList.toSet().difference(list.toSet()).toList();
item.value.mediaCount = item.value.mediaCount! - list.length; item.value.mediaCount = item.value.mediaCount! - list.length;
item.refresh(); item.refresh();
loadingState.value = if (remainList.isNotEmpty) {
LoadingState.success(remainList.toList()); loadingState.value = LoadingState.success(remainList);
} else {
onReload();
}
SmartDialog.showToast('取消收藏'); SmartDialog.showToast('取消收藏');
checkedCount.value = 0; checkedCount.value = 0;
enableMultiSelect.value = false; enableMultiSelect.value = false;

View File

@@ -145,10 +145,15 @@ class HistoryController extends MultiSelectController {
}).toList(); }).toList();
dynamic response = await UserHttp.delHistory(kidList); dynamic response = await UserHttp.delHistory(kidList);
if (response['status']) { if (response['status']) {
Set remainList = ((loadingState.value as Success).response as List) List remainList = ((loadingState.value as Success).response as List)
.toSet() .toSet()
.difference(result.toSet()); .difference(result.toSet())
loadingState.value = LoadingState.success(remainList.toList()); .toList();
if (remainList.isNotEmpty) {
loadingState.value = LoadingState.success(remainList);
} else {
onReload();
}
if (enableMultiSelect.value) { if (enableMultiSelect.value) {
checkedCount.value = 0; checkedCount.value = 0;
enableMultiSelect.value = false; enableMultiSelect.value = false;