Как перейти на другую страницу с помощью MenuItem в Flutter?

#flutter #dart

#flutter #dart

Вопрос:

Я новичок в Flutter, у меня есть список MenuItems в Drawer , как показано ниже.

  MenuItem selectedMenuItem;
      List<MenuItem> menuItems = [
        MenuItem(title: 'Contact', items: [
          MenuItem(title: 'Contact Us'),
          MenuItem(title: 'Call center'),
          MenuItem(title: 'WhatsApp'),
        ]),
        MenuItem(title: 'language'),
        MenuItem(title: 'Customer'),
      ];
  

Я хочу открыть другую страницу при нажатии на каждый элемент. Каким должен быть мой следующий шаг? Есть идеи?

 subItems(BuildContext context) {
    return selectedMenuItem.items.map(
      (item) => MaterialButton(
        onPressed: () {
          redirectItem(item);
        },
   
        child: Row(
          children: [
            Text(
              item.title,
           
            ),
          ],
        ),
      ),
    );
  }        style: TextStyle(fontSize: 14),
          
        );
      }
  

Ответ №1:

Добро пожаловать в сообщество Flutter! Я не вижу ваш полный код, поэтому я предполагаю, что вы уже можете что-то выполнить при запуске onPressed().
Вы можете перейти к другому виджету, используя этот код:

 onPressed: () {
        Navigator.push(
          context,
          MaterialPageRoute(
            builder: (context) => YourWidget(),
          ),
        );
      },
  

Комментарии:

1. Да, все мои элементы доступны для просмотра, но я хочу перенаправить на разные страницы в соответствии с выбранным элементом. Я не мог понять, как это сделать

2. Я добавил к своему вопросу @Uni

3. @kimSoo Я продолжаю просматривать ваш код, и это не имеет смысла. Где находится ваш, onPressed() когда нажимается один из ваших MenuItems элементов?

4. Для списка контактов это в (item) => MaterialButton( onPressed: () { Перенаправление (item); },

5. можете ли вы выполнить печать (item); в вашей кнопке и сообщить мне результат?