首页 > 解决方案 > 导航到其他页面

问题描述

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

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

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

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

但是当这个返回语句被命中时,实际发生的是 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)

标签: dartflutter

解决方案


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

比改变你的线路

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

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

推荐阅读