From 357c1eaf30cc3890727624d868e5dcd252d15fea Mon Sep 17 00:00:00 2001 From: 10457 Date: Fri, 13 Jun 2025 11:11:52 +0800 Subject: [PATCH 1/2] View destruction pageController dispose --- lib/carousel_slider.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/carousel_slider.dart b/lib/carousel_slider.dart index 44ea6c7..88135e0 100644 --- a/lib/carousel_slider.dart +++ b/lib/carousel_slider.dart @@ -294,6 +294,7 @@ class CarouselSliderState extends State @override void dispose() { + pageController?.dispose(); super.dispose(); clearTimer(); } From a3d38efa392a4f09a5fe31148c4b0a2744abfbc5 Mon Sep 17 00:00:00 2001 From: 10457 Date: Wed, 25 Jun 2025 18:10:01 +0800 Subject: [PATCH 2/2] Supplementary code --- lib/carousel_slider.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/carousel_slider.dart b/lib/carousel_slider.dart index 88135e0..22e1935 100644 --- a/lib/carousel_slider.dart +++ b/lib/carousel_slider.dart @@ -91,6 +91,10 @@ class CarouselSliderState extends State carouselState!.options = options; carouselState!.itemCount = widget.itemCount; + if (pageController != null) { + pageController?.dispose(); + pageController = null; + } // pageController needs to be re-initialized to respond to state changes pageController = PageController( viewportFraction: options.viewportFraction,