From 705417f65b231c19117a550ed18a365e5d7d64f6 Mon Sep 17 00:00:00 2001 From: My-Responsitories <107370289+My-Responsitories@users.noreply.github.com> Date: Tue, 12 Aug 2025 18:24:54 +0800 Subject: [PATCH] fix: check crossAxisExtent (#1005) --- lib/utils/grid.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/utils/grid.dart b/lib/utils/grid.dart index f8caf879c..4998728ff 100644 --- a/lib/utils/grid.dart +++ b/lib/utils/grid.dart @@ -77,12 +77,17 @@ class SliverGridDelegateWithExtentAndRatio extends SliverGridDelegate { } SliverGridLayout? layoutCache; + double? crossAxisExtentCache; @override SliverGridLayout getLayout(SliverConstraints constraints) { // invoked before each frame assert(_debugAssertIsValid(constraints.crossAxisExtent)); - if (layoutCache != null) return layoutCache!; + if (layoutCache != null && + constraints.crossAxisExtent == crossAxisExtentCache) { + return layoutCache!; + } + crossAxisExtentCache = constraints.crossAxisExtent; int crossAxisCount = ((constraints.crossAxisExtent - crossAxisSpacing) / (maxCrossAxisExtent + crossAxisSpacing))