From 91142be3bd153ccd3f80f10bb9cad59e844c8b29 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Fri, 25 Apr 2025 20:57:04 +0800 Subject: [PATCH] fix: rank: anim to top Signed-off-by: bggRGjQaUbCoE --- lib/pages/rank/controller.dart | 8 ++++++-- lib/pages/rank/view.dart | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/pages/rank/controller.dart b/lib/pages/rank/controller.dart index a75edb7e..0ee8c77c 100644 --- a/lib/pages/rank/controller.dart +++ b/lib/pages/rank/controller.dart @@ -11,8 +11,12 @@ class RankController extends GetxController RxInt tabIndex = 0.obs; late TabController tabController; - ZoneController get controller => Get.find( - tag: tabsConfig[tabController.index]['rid'].toString()); + ZoneController get controller { + final item = tabsConfig[tabController.index]; + return Get.find( + tag: '${item['rid']}${item['season_type']}'); + } + @override ScrollController get scrollController => controller.scrollController; diff --git a/lib/pages/rank/view.dart b/lib/pages/rank/view.dart index e4e1e047..fa278f2d 100644 --- a/lib/pages/rank/view.dart +++ b/lib/pages/rank/view.dart @@ -36,8 +36,12 @@ class _RankPageState extends State () => IntrinsicHeight( child: InkWell( onTap: () { - _rankController.tabIndex.value = index; - _rankController.tabController.animateTo(index); + if (_rankController.tabIndex.value != index) { + _rankController.tabIndex.value = index; + _rankController.tabController.animateTo(index); + } else { + _rankController.animateToTop(); + } }, child: ColoredBox( color: index == _rankController.tabIndex.value