Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 导航器弹出窗口上引发错误,直到:"_debugLocked';:事实并非如此;_Dart_Flutter_Navigator - Fatal编程技术网

Dart 导航器弹出窗口上引发错误,直到:"_debugLocked';:事实并非如此;

Dart 导航器弹出窗口上引发错误,直到:"_debugLocked';:事实并非如此;,dart,flutter,navigator,Dart,Flutter,Navigator,当通过单击showBottomSheet弹出一个屏幕导航到另一个屏幕时,以下代码会引发此错误。我不明白为什么会这样 class\u checkoutstate扩展状态{ 最终的GlobalKey _GlobalKey=GlobalKey(); final DateTime deliveryTime=DateTime.now().add(持续时间(分钟:30)); 最终双倍交货价格=5.00; @凌驾 小部件构建(构建上下文){ 订阅服务订阅服务= (上下文)的提供者; CheckoutServi

当通过单击showBottomSheet弹出一个屏幕导航到另一个屏幕时,以下代码会引发此错误。我不明白为什么会这样

class\u checkoutstate扩展状态{
最终的GlobalKey _GlobalKey=GlobalKey();
final DateTime deliveryTime=DateTime.now().add(持续时间(分钟:30));
最终双倍交货价格=5.00;
@凌驾
小部件构建(构建上下文){
订阅服务订阅服务=
(上下文)的提供者;
CheckoutService CheckoutService=Provider.of(上下文);
返回容器(
身高:48.0,
宽度:MediaQuery.of(context).size.width*0.75,
孩子:StreamBuilder(
流:subscriptionService.subscription$,
生成器:(\ux,异步快照){
如果(!snapshot.hasData){
返回文本(“签出”);
}
最终订阅=snapshot.data;
最终列表订单=subscription.orders;
最终套餐=subscription.Package;
num折扣=\u获得折扣(套餐);
num price=_totalPriceOf(订单、折扣);
返回流生成器(
流:checkoutService.loading$,
initialData:false,
生成器:(上下文,快照){
bool加载=snapshot.data;
返回ExtendedFloatingActionButton(
加载:加载,
禁用:加载,
操作:()异步{
checkoutService.setLoadingStatus(true);
最终认购=
等待提供程序(上下文)
.认购$
.首先;
试一试{
等待CloudFunctions.instance.call(
functionName:'createSubscription',
参数:subscription.toJSON);
最终底片=
_globalKey.currentState.showBottomSheet(
(上下文){
返回容器(
宽度:MediaQuery.of(context).size.width,
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[
主题。背景。脚手架背景颜色,
主题。背景。原色,
主题。背景。原色,
],
停止:[-1.0,0.5,1.0],
),
),
子:列(
儿童:[
扩大(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
填充物(
衬垫:
仅限常数边集(底部:16.0),
子:文本(
“谢谢您的订单”,
textAlign:textAlign.center,
风格:主题(上下文)
.文本主题
.1,
),
),
SvgPicture.asset(
“assets/images/thumb.svg”,
身高:120.0,
宽度:100.0,
)
//圆形(
//半径:40.0,
//背景颜色:颜色。透明,
//子:图标(
//图标。检查,
//颜色:主题(上下文)
//.文本主题
//.display1
//.颜色,
//尺寸:80.0,
// ),
// ),
],
),
),
容器(
宽度:
MediaQuery.of(context).size.width*0.9,
身高:72.0,
填充:仅限边缘设置(底部:24),
子级:ExtendedFloatingActionButton(
文本:“订单详情”,
行动:(){
Navigator.of(context.pop();
},
),
),
],
),
);
},
);
底部板。关闭。然后((v){
导航器(上下文)
.popintil((r)=>r.settings.isInitialRoute);
});
}捕获(e){
印刷品(e);
最后小吃=
Navigator.of(context).pushNamedAndRemoveUntil('/screen4', (Route<dynamic> route) => false);
 @override
 Widget build(BuildContext context) {
     var viewmodel = Provider.of<ViewModel>(context);
     Navigator.of(context).push(MaterialPageRoute(builder: 
        (context)=>CreateItemPage(viewmodel.catalogData))); // this is way i was getting error.

return Scaffold();
}
class _LoadingState extends State<Loading> {
  void getTime() async {
    // DO SOME STUFF HERE
    Navigator.pushNamed(context, '/home');
  }

  @override
  void initState() {
    super.initState();
    getTime();
  }

class _HomeState extends State<Home> {
  @override
  void initState() {
    super.initState();
    Navigator.pushNamed(context, '/loading');
  }
class HomePage extends StatefulWidget {
  @override
  HomePageState createState() => HomePageState();
} //no changes here


class HomePageState extends State<HomePage> with AfterLayoutMixin<HomePage> {
//the with AfterLayoutMixin<pageName> is the only thing you need to change.
@override
  Future<void> afterFirstLayout(BuildContext context) {

  //your code here safetly
}
navigationService.popUntil((_) => true);
navigationService.navigateTo(
  'authentication',
);
WidgetsBinding.instance.addPostFrameCallback((_) {
  Navigator.pushReplacement(context, MaterialPageRoute(builder: (_) => MyPage()));
});
  Future.delayed(const Duration(milliseconds: 500), () {
        setState(() {
          Navigator.of(context).pushAndRemoveUntil(
              MaterialPageRoute(builder: (context) => SetCategory()),
              (route) => false);
        });
      });