From 16c58448b19390d11d019bc20cb9f6c467eb34ad Mon Sep 17 00:00:00 2001 From: guozhigq Date: Fri, 22 Dec 2023 01:00:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20controller=20=E4=B8=AA=E4=BA=BA=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=B1=95=E7=A4=BA=E4=B8=8D=E5=8C=B9=E9=85=8D=20issues?= =?UTF-8?q?=20#328?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/member_archive/view.dart | 9 ++++-- lib/pages/member_dynamics/view.dart | 44 ++++++++++++++++++----------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/lib/pages/member_archive/view.dart b/lib/pages/member_archive/view.dart index 21773f2d..dd4c5cba 100644 --- a/lib/pages/member_archive/view.dart +++ b/lib/pages/member_archive/view.dart @@ -2,6 +2,7 @@ import 'package:easy_debounce/easy_throttle.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:pilipala/common/widgets/video_card_h.dart'; +import 'package:pilipala/utils/utils.dart'; import 'controller.dart'; class MemberArchivePage extends StatefulWidget { @@ -12,14 +13,18 @@ class MemberArchivePage extends StatefulWidget { } class _MemberArchivePageState extends State { - final MemberArchiveController _memberArchivesController = - Get.put(MemberArchiveController()); + late MemberArchiveController _memberArchivesController; late Future _futureBuilderFuture; late ScrollController scrollController; + late int mid; @override void initState() { super.initState(); + mid = int.parse(Get.parameters['mid']!); + final String heroTag = Utils.makeHeroTag(mid); + _memberArchivesController = + Get.put(MemberArchiveController(), tag: heroTag); _futureBuilderFuture = _memberArchivesController.getMemberArchive('onRefresh'); scrollController = _memberArchivesController.scrollController; diff --git a/lib/pages/member_dynamics/view.dart b/lib/pages/member_dynamics/view.dart index 0682c5a6..eb0b7ea6 100644 --- a/lib/pages/member_dynamics/view.dart +++ b/lib/pages/member_dynamics/view.dart @@ -2,6 +2,8 @@ import 'package:easy_debounce/easy_throttle.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:pilipala/pages/member_dynamics/index.dart'; +import 'package:pilipala/utils/utils.dart'; +import 'package:protobuf/protobuf.dart'; import '../dynamics/widgets/dynamic_panel.dart'; @@ -13,14 +15,18 @@ class MemberDynamicsPage extends StatefulWidget { } class _MemberDynamicsPageState extends State { - final MemberDynamicsController _memberDynamicController = - Get.put(MemberDynamicsController()); + late MemberDynamicsController _memberDynamicController; late Future _futureBuilderFuture; late ScrollController scrollController; + late int mid; @override void initState() { super.initState(); + mid = int.parse(Get.parameters['mid']!); + final String heroTag = Utils.makeHeroTag(mid); + _memberDynamicController = + Get.put(MemberDynamicsController(), tag: heroTag); _futureBuilderFuture = _memberDynamicController.getMemberDynamic('onRefresh'); scrollController = _memberDynamicController.scrollController; @@ -56,21 +62,25 @@ class _MemberDynamicsPageState extends State { future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { - Map data = snapshot.data as Map; - List list = _memberDynamicController.dynamicsList; - if (data['status']) { - return Obx( - () => list.isNotEmpty - ? SliverList( - delegate: SliverChildBuilderDelegate( - (context, index) { - return DynamicPanel(item: list[index]); - }, - childCount: list.length, - ), - ) - : const SliverToBoxAdapter(), - ); + if (snapshot.data != null) { + Map data = snapshot.data as Map; + List list = _memberDynamicController.dynamicsList; + if (data['status']) { + return Obx( + () => list.isNotEmpty + ? SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) { + return DynamicPanel(item: list[index]); + }, + childCount: list.length, + ), + ) + : const SliverToBoxAdapter(), + ); + } else { + return const SliverToBoxAdapter(); + } } else { return const SliverToBoxAdapter(); }