mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: medialist page
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -7,23 +7,27 @@ abstract class CommonCollapseSlidePage extends CommonSlidePage {
|
|||||||
|
|
||||||
abstract class CommonCollapseSlidePageState<T extends CommonCollapseSlidePage>
|
abstract class CommonCollapseSlidePageState<T extends CommonCollapseSlidePage>
|
||||||
extends CommonSlidePageState<T> {
|
extends CommonSlidePageState<T> {
|
||||||
late bool _isInit = true;
|
late bool isInit = true;
|
||||||
|
|
||||||
@override
|
void init() {
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_isInit = false;
|
isInit = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (_isInit) {
|
if (isInit) {
|
||||||
return CustomScrollView(
|
return CustomScrollView(
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -55,13 +55,24 @@ class _MediaListPanelState
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
desc = widget.desc.obs;
|
desc = widget.desc.obs;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void init() {
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
int index =
|
if (mounted) {
|
||||||
widget.mediaList.indexWhere((item) => item.bvid == widget.getBvId());
|
int index = widget.mediaList
|
||||||
if (index != -1 && index != 0) {
|
.indexWhere((item) => item.bvid == widget.getBvId());
|
||||||
try {
|
if (index > 0) {
|
||||||
_scrollController.jumpTo(index: index);
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
} catch (_) {}
|
try {
|
||||||
|
_scrollController.jumpTo(index: index);
|
||||||
|
} catch (_) {}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
setState(() {
|
||||||
|
isInit = false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user