导航到其他页面

时间:2019-01-20 23:37:31

标签: dart flutter

我在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)

1 个答案:

答案 0 :(得分:1)

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

比更改行

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

收件人

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