错误:SliverGeometry 无效:“scrollExtent”为负数。在 flutter Sliver 网格视图布局中

sr2*_*k23 7 flutter sliver-grid

渲染库捕获异常

\n
The following assertion was thrown during performLayout():\nSliverGeometry is not valid: The "scrollExtent" is negative.\nThe RenderSliver that returned the offending geometry was: RenderSliverGrid#f9778 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT:\n  creator: SliverGrid \xe2\x86\x90 MediaQuery \xe2\x86\x90 SliverPadding \xe2\x86\x90 Viewport \xe2\x86\x90 IgnorePointer-[GlobalKey#15db4] \xe2\x86\x90\n    Semantics \xe2\x86\x90 _PointerListener \xe2\x86\x90 Listener \xe2\x86\x90 _GestureSemantics \xe2\x86\x90\n    RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#30301] \xe2\x86\x90 _PointerListener \xe2\x86\x90 Listener\n    \xe2\x86\x90 \xe2\x8b\xaf\n  parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n  constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle,\n
Run Code Online (Sandbox Code Playgroud)\n

小智 19

我发现当我将 0 个项目传递给 GridView.builder 时,出现“scrollExtent 为负”错误。这是在加载我的数据之前发生的。

在我的构建函数中,我检查项目列表是否为零,如果是,我渲染一个空的 Container() 而不是 Gridview。这阻止了错误的发生。

我相信这是 GridView 的一个错误,因为它应该能够优雅地处理没有记录。


Aki*_*kif 2

这里有一个相关的问题。仍未解决。

flutter 中 ScrollExtent 为负值

顺便说一句,你可以在 Github 上查看。

https://github.com/flutter/flutter/issues/39963

为了重现错误: https://dartpad.dev/2630a061cf2632a1ffd6fb6c13c94e4c


归档时间:

查看次数:

6675 次

最近记录:

3 年,4 月 前