Flutter 页面url不会在flatter中更改,但页面内容变化很好

Flutter 页面url不会在flatter中更改,但页面内容变化很好,flutter,flutter-web,Flutter,Flutter Web,您好,我正在尝试在Flatter web中实现一个页面,该页面从url中获取id并根据该id显示数据。它的工作原理是页面获取数据,但url本身在浏览器中不会改变 对于路线部分,我已经放了这个 onGenerateRoute: (settings) { List<String> routeSplit = settings.name.split('/');

您好,我正在尝试在Flatter web中实现一个页面,该页面从url中获取id并根据该id显示数据。它的工作原理是页面获取数据,但url本身在浏览器中不会改变

对于路线部分,我已经放了这个

                      onGenerateRoute: (settings) {
                        List<String> routeSplit = settings.name.split('/');
                        if (routeSplit[1] == 'pdp' && routeSplit.length > 2) {
                          int pdpId = int.parse(routeSplit[2]);
                          return MaterialPageRoute(
                              builder: (context) =>
                                  ActivityDescriptionPage(id: pdpId));
                        }
                      },

因此,当我从say/products页面执行上述行时,将加载新页面内容,但浏览器中的url仅保留/products。我在这里做错了什么吗?

我必须将设置对象传递到材质页面路径。 我在这里找到的,还有一个例子。

只需将设置:设置添加到MaterialPage路由

将设置传递到MaterialPage路由。 像这样,

onGenerateRoute: (settings) {
  List<String> routeSplit = settings.name.split('/');
  if (routeSplit[1] == 'pdp' && routeSplit.length > 2) {
    int pdpId = int.parse(routeSplit[2]);
    return MaterialPageRoute(
      settings: settings,
      builder: (context) => ActivityDescriptionPage(id: pdpId)
    );
  }
},

它将更改页面内容和URL。

请提供源代码,而不仅仅是链接。鼓励链接到外部资源,但请提供链接,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。其他评论员:我没有标记这个答案
onGenerateRoute: (settings) {
  List<String> routeSplit = settings.name.split('/');
  if (routeSplit[1] == 'pdp' && routeSplit.length > 2) {
    int pdpId = int.parse(routeSplit[2]);
    return MaterialPageRoute(
      settings: settings,
      builder: (context) => ActivityDescriptionPage(id: pdpId)
    );
  }
},