#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); в вашей кнопке и сообщить мне результат?