fix: 个人主页、关注、粉丝页面渲染异常issues #91

This commit is contained in:
guozhigq
2023-09-16 23:14:11 +08:00
parent e9095932ed
commit 1d9372b4f1
5 changed files with 43 additions and 25 deletions

View File

@ -16,13 +16,16 @@ class FansPage extends StatefulWidget {
} }
class _FansPageState extends State<FansPage> { class _FansPageState extends State<FansPage> {
final FansController _fansController = Get.put(FansController()); late String mid;
late FansController _fansController;
final ScrollController scrollController = ScrollController(); final ScrollController scrollController = ScrollController();
Future? _futureBuilderFuture; Future? _futureBuilderFuture;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
mid = Get.parameters['mid']!;
_fansController = Get.put(FansController(), tag: mid);
_futureBuilderFuture = _fansController.queryFans('init'); _futureBuilderFuture = _fansController.queryFans('init');
scrollController.addListener( scrollController.addListener(
() async { () async {

View File

@ -16,13 +16,16 @@ class FollowPage extends StatefulWidget {
} }
class _FollowPageState extends State<FollowPage> { class _FollowPageState extends State<FollowPage> {
final FollowController _followController = Get.put(FollowController()); late String mid;
late FollowController _followController;
final ScrollController scrollController = ScrollController(); final ScrollController scrollController = ScrollController();
Future? _futureBuilderFuture; Future? _futureBuilderFuture;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
mid = Get.parameters['mid']!;
_followController = Get.put(FollowController(), tag: mid);
_futureBuilderFuture = _followController.queryFollowings('init'); _futureBuilderFuture = _followController.queryFollowings('init');
scrollController.addListener( scrollController.addListener(
() async { () async {

View File

@ -110,6 +110,7 @@ class MemberController extends GetxController {
// 关系查询 // 关系查询
Future relationSearch() async { Future relationSearch() async {
if (userInfo == null) return; if (userInfo == null) return;
if (mid == ownerMid) return;
var res = await UserHttp.relationSearch(mid); var res = await UserHttp.relationSearch(mid);
if (res['status']) { if (res['status']) {
attribute.value = res['data']['relation']['attribute']; attribute.value = res['data']['relation']['attribute'];

View File

@ -20,7 +20,8 @@ class MemberPage extends StatefulWidget {
class _MemberPageState extends State<MemberPage> class _MemberPageState extends State<MemberPage>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
final MemberController _memberController = Get.put(MemberController()); late String heroTag;
late MemberController _memberController;
Future? _futureBuilderFuture; Future? _futureBuilderFuture;
final ScrollController _extendNestCtr = ScrollController(); final ScrollController _extendNestCtr = ScrollController();
late TabController _tabController; late TabController _tabController;
@ -29,6 +30,8 @@ class _MemberPageState extends State<MemberPage>
@override @override
void initState() { void initState() {
super.initState(); super.initState();
heroTag = Get.arguments['heroTag'];
_memberController = Get.put(MemberController(), tag: heroTag);
_tabController = TabController(length: 3, vsync: this, initialIndex: 2); _tabController = TabController(length: 3, vsync: this, initialIndex: 2);
_futureBuilderFuture = _memberController.getInfo(); _futureBuilderFuture = _memberController.getInfo();
_extendNestCtr.addListener( _extendNestCtr.addListener(
@ -105,6 +108,8 @@ class _MemberPageState extends State<MemberPage>
PopupMenuButton( PopupMenuButton(
icon: const Icon(Icons.more_vert), icon: const Icon(Icons.more_vert),
itemBuilder: (BuildContext context) => <PopupMenuEntry>[ itemBuilder: (BuildContext context) => <PopupMenuEntry>[
if (_memberController.ownerMid !=
_memberController.mid) ...[
PopupMenuItem( PopupMenuItem(
onTap: () => _memberController.blockUser(), onTap: () => _memberController.blockUser(),
child: Row( child: Row(
@ -117,15 +122,19 @@ class _MemberPageState extends State<MemberPage>
: '移除黑名单'), : '移除黑名单'),
], ],
), ),
), )
],
PopupMenuItem( PopupMenuItem(
onTap: () => _memberController.shareUser(), onTap: () => _memberController.shareUser(),
child: const Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Icon(Icons.share_outlined, size: 19), const Icon(Icons.share_outlined, size: 19),
SizedBox(width: 10), const SizedBox(width: 10),
Text('分享UP主'), Text(_memberController.ownerMid !=
_memberController.mid
? '分享UP主'
: '分享我的主页'),
], ],
), ),
), ),

View File

@ -123,12 +123,14 @@ Widget profile(ctr, {loadingStatus = false}) {
: '-', : '-',
style: const TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold)), fontWeight: FontWeight.bold)),
Text('粉丝', Text(
'粉丝',
style: TextStyle( style: TextStyle(
fontSize: Theme.of(context) fontSize: Theme.of(context)
.textTheme .textTheme
.labelMedium! .labelMedium!
.fontSize)) .fontSize),
)
], ],
), ),
), ),