dart - 导航到其他页面

标签 dart flutter

我在我的 Flutter 应用程序中使用 Datepicker Cupertiono:

https://github.com/wuzhendev/flutter-cupertino-date-picker

有一个名为“onConfirm()”的方法,我试图将用户重定向到其他页面,但没有成功。 我试过了

return        Navigator.pushReplacementNamed(ctx, '/otherPage');

但是当这个 return 语句被命中时实际发生的是 cupertino 小部件关闭并且没有任何反应。没有错误

当我尝试使用时:

return Navigator.pushNamed<bool>(
                          ctx,
                          '/route/' + object.id.toString());

出现一些错误:

Performing hot restart...
Restarted application in 1 685ms.
I/flutter (20542): 112
E/flutter (20542): [ERROR:flutter/shell/common/shell.cc(188)] Dart Error: Unhandled exception:
E/flutter (20542): Looking up a deactivated widget's ancestor is unsafe.
E/flutter (20542): At this point the state of the widget's element tree is no longer stable. To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling
inheritFromWidgetOfExactType() in the widget's didChangeDependencies() method.
E/flutter (20542):
E/flutter (20542): #0      Element._debugCheckStateIsActiveForAncestorLookup.<anonymous closure> (package:flutter/src/widgets/framework.dart:3232:9)
E/flutter (20542): #1      Element._debugCheckStateIsActiveForAncestorLookup (package:flutter/src/widgets/framework.dart:3241:6)
E/flutter (20542): #2      Element.ancestorStateOfType (package:flutter/src/widgets/framework.dart:3289:12)
E/flutter (20542): #3      Scaffold.of (package:flutter/src/material/scaffold.dart:935:42)

最佳答案

您应该使用 Navigator.push。 导入您的页面,例如:import './otherPage.dart';

比改变你的线路

return Navigator.pushReplacementNamed(ctx, '/otherPage');

return Navigator.push(context, 'otherClassName');

关于dart - 导航到其他页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281997/

相关文章:

flutter - 小部件的多个对象只能在Flutter中运行一次initState?

flutter - 如何自动生成以下格式的多个按钮

dart - 如何从 Future 对象 (Future<int>) 中获取原始值?

flutter - 有什么方法可以为CupertinoApp实现debugShowMaterialGrid吗?

DART HttpRequest 不为 CORS OPTIONS 请求提供授权 header

android - 如何在 flutter (android)应用程序中使用 C++ 代码?

dart - Flutter - 如何重启或重绘当前屏幕 Widget

dart - 没有声明顶级 getter <className>

android-studio - Android Studio 3.4.1 不显示在 mac 上运行的模拟器

Dart 流监听未按预期工作