У меня есть 3 раздела, один - это виджет ClassList, который содержит скрытые виджеты. ClassList имеет параметр функции _refreshGPA, который называется методом setState () для перестройки экрана. Итак, при запуске onDismissed метод _refreshGPA, вызываемый виджетом ClassList, и элемент списка удаляются правильно. Все работает.
body: Column(
children: <Widget>[
_buildClassForm(context),
GPAHeader(gpa: gpa),
ClassList(_classList, _refreshGPA),
],
),
Итак, я пытаюсь создать макет для режима пейзажного изображения с помощью OrientationBuilder. Я реализую два метода для каждого режима макета. Но теперь элементы списка не удаляются в обоих режимах макета.
body: OrientationBuilder(
builder: (context, orientation) {
if (orientation == Orientation.portrait) {
return _bodyPortraitMode(context);
} else {
return _bodyLandscapeMode(context);
}
},
),
Widget _bodyPortraitMode(BuildContext context) {
return Container(
child: Column(
children: <Widget>[
_buildClassForm(context),
GPAHeader(gpa: gpa),
ClassList(_classList, _refreshGPA),
],
),
);
Widget _bodyLandscapeMode(BuildContext context) {
return Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: _buildClassForm(context),
flex: 1,
),
Expanded(
child: Column(
children: <Widget>[
GPAHeader(gpa: gpa),
ClassList(_classList, _refreshGPA),
],
),
flex: 1,
)
],
),
);
Я попробовал только эти два метода, перейдя в тело, и все работает нормально. Но при обертывании OrientationBuilder элемент списка не удаляется.
Спасибо за любую помощь! И извините за орфографическую ошибку, англ. не мой основной язык.