sr2*_*k23 7 flutter sliver-grid
渲染库捕获异常
\nThe 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,\nRun Code Online (Sandbox Code Playgroud)\n
小智 19
我发现当我将 0 个项目传递给 GridView.builder 时,出现“scrollExtent 为负”错误。这是在加载我的数据之前发生的。
在我的构建函数中,我检查项目列表是否为零,如果是,我渲染一个空的 Container() 而不是 Gridview。这阻止了错误的发生。
我相信这是 GridView 的一个错误,因为它应该能够优雅地处理没有记录。
这里有一个相关的问题。仍未解决。
顺便说一句,你可以在 Github 上查看。
https://github.com/flutter/flutter/issues/39963
为了重现错误: https://dartpad.dev/2630a061cf2632a1ffd6fb6c13c94e4c
| 归档时间: |
|
| 查看次数: |
6675 次 |
| 最近记录: |