我在我的 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/