如何使用 onGenerateRoute 在 URL 中显示 Flutter Web 路由名称?

mir*_*cal 5 flutter flutter-web

我在 MaterialApp 上使用 onGenerateRoute 参数进行路由。

MaterialApp(
  ...
  onGenerateRoute: Router.generateRoute,
  ...
)
Run Code Online (Sandbox Code Playgroud)

然后使用pushNamed().

我想在 url 中显示我的路线名称,但我无法通过 onGenerateRoute 实现。

如果我routes:在 MaterialApp 中使用,

像这样:

  MaterialApp(
    ...
    routes: {sliverScreen: (context) => SliverScreen()},
    ...
  )
Run Code Online (Sandbox Code Playgroud)

有用。但是我认为如果我在 MaterialApp 上提供了 onGenerateRoute,那是多余的。

Spa*_*atz 20

您可以添加name到生成的路由,它会出现在 URL 中:

  MaterialPageRoute(
    builder: ... ,
    settings: RouteSettings(name: 'SOMENAME'))
Run Code Online (Sandbox Code Playgroud)