Выпадающее меню не выкладывается
Ошибка
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): creator: IndexedStack ← Строка ← Заполнение ← Контейнер ← DefaultTextStyle ← Стек ← Прослушиватель ← I/flutter _GS1 (1632) ← RawGestureDetector ← GestureDetector ← Семантика ← DropdownButton ← ⋯ I/ флаттер (16321): parentData: offset=Offset(0.0, 0.0); сгибать = NULL; fit=null (можно использовать размер) I / flutter (16321): ограничения: BoxConstraints(без ограничений) I/flutter (16321): size: Size(Infinity, Infinity) I/flutter (16321): выравнивание: AlignmentDirectional.centerStart I/flutter (16321): textDirection: ltr I/flutter (16321): fit: Свободный I/flutter (16321): overflow: clip I/flutter (16321): index: null 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: Метод '<=' был вызван с нулевым значением. I/flutter (16321): было выброшено еще одно исключение: RenderFlex переполнен пикселями Infinity внизу.
2 ответа
Я пишу глубокое погружение по этому вопросу, и Расширенное не всегда является ответом, и когда это так, вы не всегда используете его одинаково.
Здесь, если "объекту RenderFlex был задан бесконечный размер во время компоновки", это основная ошибка, тогда вы, вероятно, захотите использовать родительский элемент для столбца или строки, чтобы ограничить его размер.
Но если однажды вы обнаружите, что имеете дело с "у детей RenderFlex ненулевое сгибание, но входящие ограничения высоты неограничены", тогда вам нужно выгрузить Expanded и поменять его на Flexible with fit:FlexFit.loose, а затем изменить столбец или Строка mainAxisSize to MainAxisSize.min
Если ошибка "BoxConstraints вызывает бесконечную высоту (или ширину)", то вы должны рассмотреть, на какой оси находится ошибка. Если она находится в mainAxis, то вы оборачиваете дочерний элемент в Expanded, но если он находится в CrossAxis, то вы оборачиваете строка или столбец в развернутом виде.
Для получения дополнительной помощи по Flutter обязательно ознакомьтесь с сообществом Flutter на Medium https://medium.com/flutter-community и нашими сеансами интерактивной помощи каждую среду по адресу https://medium.com/flutter-community/flutterqanda/home
Использовать расширенный виджет
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()) ?? [],
))