【发布时间】:2021-08-31 05:37:50
【问题描述】:
ListView 不工作。我想在内部列表视图中显示 3 个不同的有状态小部件,但出现错误
渲染库捕获的异常═════════════════════════════════ RenderBox 未布局:RenderViewport#01b62 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
Column(
children: <Widget>[
//wrap with list of widget
ListView(
children: [
Expanded(child: Body(box.get('state'), true)),
Divider(color: Colors.black),
Expanded(child: Body(box.get('state'), false)),
],
)
],
),
我正在使用此代码在ListView 中显示小部件。
我的 Body 小部件返回 listview.builder 或有时是简单的文本小部件。
当我不只使用列小部件时,屏幕分成两部分 - 上部 listview.builder 和 lower listview.builder
当我使用此代码时,它会引发错误。
所需的输出 -
第一个 body 小部件应该显示在整个屏幕上,一旦第一个小部件结束,第二个 body 小部件应该显示在整个屏幕上。
这个怎么做?为什么会出现这个错误?
注意:shrinkwrap 是 true 内的 Body 小部件(listview.builder)。
【问题讨论】:
-
如果在 ListView 等滚动视图中使用 Column,请尝试设置 Column mainAxisSize: MainAxisSize.min 并使用带 flex 属性的 Flexible 来代替 Expand。
标签: flutter dart flutter-layout flutter-dependencies flutter-web