diff --git a/lib/pages/dynamics/tab/controller.dart b/lib/pages/dynamics/tab/controller.dart index 707ebcab..73bf6d25 100644 --- a/lib/pages/dynamics/tab/controller.dart +++ b/lib/pages/dynamics/tab/controller.dart @@ -25,13 +25,13 @@ class DynamicsTabController extends CommonController { @override bool customHandleResponse(Success response) { - offset = response.response.offset; List currentList = loadingState.value is Success ? (loadingState.value as Success).response : []; loadingState.value = offset == '' ? LoadingState.success(response.response.items) : LoadingState.success(currentList + response.response.items); + offset = response.response.offset; return true; } @@ -47,7 +47,11 @@ class DynamicsTabController extends CommonController { if (res['status']) { List list = (loadingState.value as Success).response; 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('删除成功'); } else { SmartDialog.showToast(res['msg']); diff --git a/lib/pages/dynamics/tab/view.dart b/lib/pages/dynamics/tab/view.dart index 25eef31c..e3ca952d 100644 --- a/lib/pages/dynamics/tab/view.dart +++ b/lib/pages/dynamics/tab/view.dart @@ -161,7 +161,11 @@ class _DynamicsTabPageState extends State children: [ if (dynamicsController.tabController.index == 4 && 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 ...[ for (var i in loadingState.response) if (!dynamicsController.tempBannedList @@ -187,7 +191,9 @@ class _DynamicsTabPageState extends State loadingState.response[index].modules ?.moduleAuthor?.mid)) { return DynamicPanel( - item: loadingState.response[index]); + item: loadingState.response[index], + onRemove: _dynamicsTabController.onRemove, + ); } return const SizedBox(); },