Flutter Web - 如何重新加载当前活动页面

Ash*_*faq 11 web dart flutter flutter-web

我正在使用 Flutter 开发网站。除了重新加载页面时,Flutter 一切正常。当我按下浏览器中的刷新按钮时,整个 Web 应用程序都会重新加载。

例如,如果我从初始页面导航到四个页面,当我从第四个页面按下刷新按钮时,初始页面被加载,我将不得不再次手动浏览到第四个页面。

有没有办法在 Flutter 中加载当前活动的页面?

Mic*_*ndz 8

查看使用命名路由进行的导航,因为它在使用 Flutter Web 时无缝映射 URL。

编辑:如果您需要 URL 参数(如 id、令牌...),请查看这篇文章

  • 就我而言,即使使用命名路由,应用程序也会完全重新加载。到目前为止有什么解决方案吗? (2认同)

小智 8

或者您可以使用它,因为它本机刷新整个窗口

import 'dart:html' as html;
html.window.location.reload();
Run Code Online (Sandbox Code Playgroud)

  • https://pub.dev/packages/universal_html 是一个不错的选择。 (2认同)

eko*_*Rem 5

import 'dart:html' as html;
html.window.location.reload();
Run Code Online (Sandbox Code Playgroud)

因为根据 https://dart-lang.github.io/linter/lints/avoid_web_libraries_in_flutter.html这是不允许的

这就是我解决问题的方法:

导入这个包

https://pub.dev/packages/universal_html/install

导入到任何你想使用的地方

import 'package:universal_html/html.dart' as html;
Run Code Online (Sandbox Code Playgroud)

你可以像这样使用它

html.window.location.reload();
Run Code Online (Sandbox Code Playgroud)