Я отображаю CupertinoPopupSurface
и использую виджет Dismissible
, чтобы закрыть диалоговое окно жестом. Когда я провожу пальцем вниз, я вызываю Navigator.of(context).pop();
, чтобы закрыть диалоговое окно и вернуться к предыдущему экрану, но я получаю сообщение об ошибке, в котором говорится, что Dismissible
все еще является частью дерева.
Я попытался предоставить уникальный ключ Dismissible(key: UniqueKey(), ...)
но все равно не работает.
CupertinoPopupSurface(
isSurfacePainted: false,
child: Container(
padding: const EdgeInsets.only(top: 100),
child: Dismissible(
key: UniqueKey(),
direction: DismissDirection.down,
onDismissed: (direction) {
Navigator.of(context).pop();
},
child: Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.vertical(top: Radius.circular(40)),
),
child: ZoneFilter(
visit: visit, accountsViewModel: accountsViewModel)),
),
),
);
Я хотел бы позвонить Navigator.of(context).pop();
и избавиться от виджета Dismissible.