【发布时间】:2020-07-14 13:49:23
【问题描述】:
当我在我的颤振应用程序中使用我的嵌套导航器时,我正在尝试更新 Web URL。
默认路由 / 有一个可导航到 /sub 路由的 FlatButton。然后在_generateSubRoute -> /second
这是我的例子:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
routes: {
// When navigating to the "/" route, build the FirstScreen widget
'/': (context) => Scaffold(
body: FlatButton(
onPressed: () {
Navigator.of(context).pushNamed('/sub');
},
child: Text(
"Go to sub",
),
),
),
// When navigating to the "/second" route, build the SecondScreen widget.
'/sub': (context) =>
Scaffold(body: Column(children: [Text('/sub'), Flexible(
child: Navigator(
onGenerateRoute: _generateSubRoute ))]))
});
}
Route _generateSubRoute(RouteSettings settings) {
if (settings.name == '/second') {
return MaterialPageRoute(
settings: settings,
builder: (BuildContext context) => Text('Second screen')
);
}
return MaterialPageRoute(
settings: settings,
builder: (BuildContext context) => Column(children: <Widget>[
Text('/subroot/'),
FlatButton(
onPressed: () {
Navigator.of(context).pushNamed('/second');
},
child: Text(
"Go to second",
))])
);
}
}
此代码中的 Web url 无法正常工作。 知道如何解决这个问题吗?
【问题讨论】:
-
尝试使用 Navigator.of(context).pushNamed("test") 它应该使用 //root.com/test 更新 url
-
嗨,你发现了吗?