颤振下拉列表不布局

时间:2018-12-06 11:40:31

标签: flutter dropdownbutton

错误

I/flutter (16321): The following RenderObject was being processed when the exception was fired:

I / flutter(16321):RenderIndexedStack#83b60 relayoutBoundary = up9 NEEDS-LAYOUT NEEDS-PAINT I / flutter(16321):创建者:IndexedStack←行←填充←容器←DefaultTextStyle←堆栈←侦听器← I / flutter(16321):_GestureSemantics←RawGestureDetector←GestureDetector←语义←DropdownButton←⋯ I /颤振(16321):parentData:offset = Offset(0.0,0.0); flex = null; fit = null(可以使用大小) I / flutter(16321):约束:BoxConstraints(无约束) I /颤振(16321):大小:大小(无穷大,无穷大) I /颤振(16321):对齐方式:AlignmentDirectional.centerStart I / flutter(16321):textDirection:ltr I /颤振(16321):适合:宽松 I /颤振(16321):溢出:剪辑 I / flutter(16321):索引:空 I / flutter(16321):此RenderObject没有后代。 I /颤振(16321):═══════════════════════════════════════════ ══════════════════════════════════════════════════ ═══════ I / flutter(16321):引发了另一个异常:RenderFlex对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:RenderPadding对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:RenderStack对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:RenderPointerListener对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:RenderSemanticsGestureHandler对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:RenderSemanticsAnnotations对象在布局期间被赋予了无限大小。 I / flutter(16321):引发了另一个异常:NoSuchMethodError:方法'<='在null上调用。 I / flutter(16321):引发了另一个异常:RenderFlex的底部无穷大像素溢出。

2 个答案:

答案 0 :(得分:1)

我正在对此进行深入研究,而“扩展”并不一定总是答案,当是答案时,您并不总是以相同的方式使用它。

在这里,如果“ RenderFlex对象在布局期间被赋予无限大小”是主要错误,那么您可能想使用Column或Row的父项来限制其大小。

但是,如果有一天您发现自己正在处理“ RenderFlex子项的flex值不为零,但传入的高度限制不受限制”,则需要转储Expanded并交换为fit:FlexFit.loose的Flexible,然后进行更改列或行mainAxisSize更改为MainAxisSize.min

如果错误是“ BoxConstraints强制无限的高度(或宽度)”,那么您必须考虑错误所在的轴。如果它在mainAxis中,则将子级包装在Expanded中,但将其包装在crossAxis中然后将行或列包装在扩展中。

要获取有关Flutter的更多帮助,请务必在中等https://medium.com/flutter-community上查看Flutter社区,并在每周三的https://medium.com/flutter-community/flutterqanda/home上查看我们的实时帮助会话

答案 1 :(得分:0)

使用“扩展”小部件

 Expanded( child: new DropdownButtonHideUnderline(
           child: new DropdownButton<String>(
             value: "",hint: new Text("Select"),
             onChanged: (String newValue) {},
             items: bGroops?.map((String value) {
             return DropdownMenuItem<String>(
             value: value,child: Text(value),);})?.toList()) ?? [],
        ))