fix: dynamic page

This commit is contained in:
bggRGjQaUbCoE
2024-10-01 18:00:52 +08:00
parent 832b20fc12
commit 49b856be86
2 changed files with 14 additions and 4 deletions

View File

@@ -25,13 +25,13 @@ class DynamicsTabController extends CommonController {
@override @override
bool customHandleResponse(Success response) { bool customHandleResponse(Success response) {
offset = response.response.offset;
List currentList = loadingState.value is Success List currentList = loadingState.value is Success
? (loadingState.value as Success).response ? (loadingState.value as Success).response
: []; : [];
loadingState.value = offset == '' loadingState.value = offset == ''
? LoadingState.success(response.response.items) ? LoadingState.success(response.response.items)
: LoadingState.success(currentList + response.response.items); : LoadingState.success(currentList + response.response.items);
offset = response.response.offset;
return true; return true;
} }
@@ -47,7 +47,11 @@ class DynamicsTabController extends CommonController {
if (res['status']) { if (res['status']) {
List list = (loadingState.value as Success).response; List list = (loadingState.value as Success).response;
list.removeWhere((item) => item.idStr == dynamicId); list.removeWhere((item) => item.idStr == dynamicId);
loadingState.value = LoadingState.success(list); if (list.isNotEmpty) {
loadingState.value = LoadingState.success(list);
} else {
loadingState.value = LoadingState.empty();
}
SmartDialog.showToast('删除成功'); SmartDialog.showToast('删除成功');
} else { } else {
SmartDialog.showToast(res['msg']); SmartDialog.showToast(res['msg']);

View File

@@ -161,7 +161,11 @@ class _DynamicsTabPageState extends State<DynamicsTabPage>
children: [ children: [
if (dynamicsController.tabController.index == 4 && if (dynamicsController.tabController.index == 4 &&
dynamicsController.mid.value != -1) ...[ dynamicsController.mid.value != -1) ...[
for (var i in loadingState.response) DynamicPanel(item: i), for (var i in loadingState.response)
DynamicPanel(
item: i,
onRemove: _dynamicsTabController.onRemove,
),
] else ...[ ] else ...[
for (var i in loadingState.response) for (var i in loadingState.response)
if (!dynamicsController.tempBannedList if (!dynamicsController.tempBannedList
@@ -187,7 +191,9 @@ class _DynamicsTabPageState extends State<DynamicsTabPage>
loadingState.response[index].modules loadingState.response[index].modules
?.moduleAuthor?.mid)) { ?.moduleAuthor?.mid)) {
return DynamicPanel( return DynamicPanel(
item: loadingState.response[index]); item: loadingState.response[index],
onRemove: _dynamicsTabController.onRemove,
);
} }
return const SizedBox(); return const SizedBox();
}, },