Имеет навигацию Купертино, чтобы показать панель приложения, но нужен конечный ящик - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь добавить CupertinoNavigationBar с помощью endDrawer, я пытаюсь добавить детектор жестов при трейлинге, но это не работает, показывает это:

The following assertion was thrown while handling a gesture:
flutter: `Scaffold.of()` called with a context that does not contain a Scaffold.
flutter: No Scaffold ancestor could be found starting from the context that was passed to `Scaffold.of()`. This
flutter: usually happens when the context provided is from the same StatefulWidget as that whose build

Я уже пытался добавить ключ в скаффолд и пробовал открывать с ключом, я тоже пытаюсь с контекстом скаффолд в панели приложения

AppBar:

Scaffold(
      appBar: CupertinoNavigationBar(
    transitionBetweenRoutes: true,
    trailing: IconButton(
    icon: Icon(Icons.menu),
    onPressed: () { 
        Scaffold.of(context).openEndDrawer();
    },),
    actionsForegroundColor: Colors.white,
    middle: Text('Lejour', style: TextStyle(color: Colors.white)),
          backgroundColor: Theme.of(context).primaryColor),
   endDrawer: DrawerMenu() // my own class,
   body: // ...body

Я ожидаю, что мой конечный значок от CupertinoNavigationBar откроет endDrawer с
Scaffold.of(context).openEndDrawer();

1 Ответ

1 голос
/ 04 июля 2019

Это распространенная проблема, когда вы пытаетесь использовать Scaffold.of(context).Вам следует прочитать журнал ошибок.

Не удалось найти предка Scaffold, начиная с контекста, который был передан в Scaffold.of()

Чтобы решить вашу проблему, используйте Builder виджет для создания нового контекста.

trailing: Builder(
            builder: (context) {
              return IconButton(
                icon: Icon(Icons.menu),
                onPressed: () {
                  Scaffold.of(context).openEndDrawer();
                },
              );
            },
          ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...