Вам необходимо передать BuildContext
вашей функции _childPopup
. Вы, вероятно, определили эту функцию в месте, где BuildContext
напрямую недоступен. Пример.
Widget _childPopup(BuildContext context) => PopupMenuButton<int>(
onSelected: (result) {
if (result == 0) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SingleOrder()),
);
}
},
itemBuilder: (context) => [
PopupMenuItem(
value: 0,
child: Text(
"MENU 1",
style: TextStyle(
color: Colors.black54),
),
),
PopupMenuItem(
value: 1,
child: Text(
"MENU 2",
style: TextStyle(
color: Colors.black54),
),
),
],
);
Это гарантирует, что BuildContext
будет доступен для функции, и позволит вам лучше контролировать, какой контекст он будет использовать.