我想添加操作图标到我的AppBar中,如此Flutter example所示
但是我使用go_flutter,在MaterialApp.router构造函数中看不到任何允许插入图标部件的属性。
这是我到目前为止的代码。我如何从这里添加动作图标?
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp.router(
title: 'My App',
routerConfig: _router,
debugShowCheckedModeBanner: false,
);
}
}
final GoRouter _router = GoRouter(routes: [
GoRoute(path: '/', builder: ((context, state) => Loading())),
GoRoute(name: 'error', path: '/error/:message/:statusCode', builder: (context, state) => CheckError(
message: state.params['message']!,
statusCode: state.params['statusCode']!
)),
GoRoute(name: 'home', path: '/home', builder: (context, state) {
Map data = state.extra as Map;
return Home(data: data);
},
),
]);
2条答案
按热度按时间6fe3ivhb1#
您需要使用
push
而不是goNamed
。r6hnlfcb2#
@Duddy67回答您的评论。并扩展@Yeasin Sheikh的回答。
我假设您希望在新屏幕的appBar中有
<-
按钮。context.push()
将页面添加到导航堆栈。context.go()
,你只是替换页面,所以没有屏幕可以返回。**注意:需要在scaffold中添加
appBar: AppBar(title:Text("Home Page"))
,才能显示<-
。( 重点是调用AppBar
示例,而不是设置title。)