fix: controller 个人动态展示不匹配 issues #328

This commit is contained in:
guozhigq
2023-12-22 01:00:55 +08:00
parent 71e1f2f924
commit 16c58448b1
2 changed files with 34 additions and 19 deletions

View File

@ -2,6 +2,7 @@ import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pilipala/common/widgets/video_card_h.dart'; import 'package:pilipala/common/widgets/video_card_h.dart';
import 'package:pilipala/utils/utils.dart';
import 'controller.dart'; import 'controller.dart';
class MemberArchivePage extends StatefulWidget { class MemberArchivePage extends StatefulWidget {
@ -12,14 +13,18 @@ class MemberArchivePage extends StatefulWidget {
} }
class _MemberArchivePageState extends State<MemberArchivePage> { class _MemberArchivePageState extends State<MemberArchivePage> {
final MemberArchiveController _memberArchivesController = late MemberArchiveController _memberArchivesController;
Get.put(MemberArchiveController());
late Future _futureBuilderFuture; late Future _futureBuilderFuture;
late ScrollController scrollController; late ScrollController scrollController;
late int mid;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
mid = int.parse(Get.parameters['mid']!);
final String heroTag = Utils.makeHeroTag(mid);
_memberArchivesController =
Get.put(MemberArchiveController(), tag: heroTag);
_futureBuilderFuture = _futureBuilderFuture =
_memberArchivesController.getMemberArchive('onRefresh'); _memberArchivesController.getMemberArchive('onRefresh');
scrollController = _memberArchivesController.scrollController; scrollController = _memberArchivesController.scrollController;

View File

@ -2,6 +2,8 @@ import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pilipala/pages/member_dynamics/index.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'; import '../dynamics/widgets/dynamic_panel.dart';
@ -13,14 +15,18 @@ class MemberDynamicsPage extends StatefulWidget {
} }
class _MemberDynamicsPageState extends State<MemberDynamicsPage> { class _MemberDynamicsPageState extends State<MemberDynamicsPage> {
final MemberDynamicsController _memberDynamicController = late MemberDynamicsController _memberDynamicController;
Get.put(MemberDynamicsController());
late Future _futureBuilderFuture; late Future _futureBuilderFuture;
late ScrollController scrollController; late ScrollController scrollController;
late int mid;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
mid = int.parse(Get.parameters['mid']!);
final String heroTag = Utils.makeHeroTag(mid);
_memberDynamicController =
Get.put(MemberDynamicsController(), tag: heroTag);
_futureBuilderFuture = _futureBuilderFuture =
_memberDynamicController.getMemberDynamic('onRefresh'); _memberDynamicController.getMemberDynamic('onRefresh');
scrollController = _memberDynamicController.scrollController; scrollController = _memberDynamicController.scrollController;
@ -56,21 +62,25 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage> {
future: _futureBuilderFuture, future: _futureBuilderFuture,
builder: (context, snapshot) { builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) { if (snapshot.connectionState == ConnectionState.done) {
Map data = snapshot.data as Map; if (snapshot.data != null) {
List list = _memberDynamicController.dynamicsList; Map data = snapshot.data as Map;
if (data['status']) { List list = _memberDynamicController.dynamicsList;
return Obx( if (data['status']) {
() => list.isNotEmpty return Obx(
? SliverList( () => list.isNotEmpty
delegate: SliverChildBuilderDelegate( ? SliverList(
(context, index) { delegate: SliverChildBuilderDelegate(
return DynamicPanel(item: list[index]); (context, index) {
}, return DynamicPanel(item: list[index]);
childCount: list.length, },
), childCount: list.length,
) ),
: const SliverToBoxAdapter(), )
); : const SliverToBoxAdapter(),
);
} else {
return const SliverToBoxAdapter();
}
} else { } else {
return const SliverToBoxAdapter(); return const SliverToBoxAdapter();
} }