gpt4 book ai didi

flutter - 如何在flutter中更新非root导航器的路由更改时的浏览器URL?

转载 作者:行者123 更新时间:2023-12-03 13:28:52 26 4
gpt4 key购买 nike

当我在 flutter 应用程序中使用嵌套的 Navigators 时,我正在尝试更新 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",
))])
);
}
}

此代码中的网址无法正常工作。
知道如何解决这个问题吗?

最佳答案

import 'dart:html' as html;html.window.history.pushState(null, "Home", "/");

关于flutter - 如何在flutter中更新非root导航器的路由更改时的浏览器URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60994148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com