fix: mediaPage stream error

This commit is contained in:
guozhigq
2024-04-13 16:31:28 +08:00
parent d48886ab1b
commit 869e43f74e
2 changed files with 12 additions and 16 deletions

View File

@ -28,13 +28,11 @@ class _MediaPageState extends State<MediaPage>
super.initState(); super.initState();
mediaController = Get.put(MediaController()); mediaController = Get.put(MediaController());
_futureBuilderFuture = mediaController.queryFavFolder(); _futureBuilderFuture = mediaController.queryFavFolder();
ScrollController scrollController = mediaController.scrollController;
mediaController.userLogin.listen((status) { mediaController.userLogin.listen((status) {
setState(() { setState(() {
_futureBuilderFuture = mediaController.queryFavFolder(); _futureBuilderFuture = mediaController.queryFavFolder();
}); });
}); });
handleScrollEvent(scrollController);
} }
@override @override

View File

@ -7,11 +7,7 @@ import 'package:get/get.dart';
import '../pages/home/index.dart'; import '../pages/home/index.dart';
import '../pages/main/index.dart'; import '../pages/main/index.dart';
void handleScrollEvent( void handleScrollEvent(ScrollController scrollController) {
ScrollController scrollController,
// StreamController<bool> mainStream,
// StreamController<bool>? searchBarStream,
) {
StreamController<bool> mainStream = StreamController<bool> mainStream =
Get.find<MainController>().bottomBarStream; Get.find<MainController>().bottomBarStream;
StreamController<bool> searchBarStream = StreamController<bool> searchBarStream =
@ -20,15 +16,17 @@ void handleScrollEvent(
'stream-throttler', 'stream-throttler',
const Duration(milliseconds: 300), const Duration(milliseconds: 300),
() { () {
final ScrollDirection direction = try {
scrollController.position.userScrollDirection; final ScrollDirection direction =
if (direction == ScrollDirection.forward) { scrollController.position.userScrollDirection;
mainStream.add(true); if (direction == ScrollDirection.forward) {
searchBarStream.add(true); mainStream.add(true);
} else if (direction == ScrollDirection.reverse) { searchBarStream.add(true);
mainStream.add(false); } else if (direction == ScrollDirection.reverse) {
searchBarStream.add(false); mainStream.add(false);
} searchBarStream.add(false);
}
} catch (_) {}
}, },
); );
} }