Flutter Go Router 没有后退按钮,也没有任何可弹出的内容

Joh*_*ohn 10 flutter flutter-web flutter-go-router

我在我的 flutter 项目上使用 Go Router,我注意到后退按钮不再显示。即使我专门添加它,我也会收到以下错误:

======== 手势捕获异常======================================== ========================= 处理手势时抛出以下 GoError: There is Nothing to pop 抛出异常时,这是堆栈: #0 GoRouterDelegate.pop (package:go_router/src/delegate.dart:120:5) #1 GoRouter.pop (package:go_router/src/router.dart:284:21) #2 RecordDetailState.build。(包:random_me/screens/record/detail.dart:70:36)#3 _InkResponseState.handleTap(包:flutter/src/material/ink_well.dart:1072:21)#4 GestureRecognizer.invokeCallback(包:flutter/src) /gestures/recognizer.dart:253:24) #5 TapGestureRecognizer.handleTapUp (包:flutter/src/gestures/tap.dart:627:11) #6 BaseTapGestureRecognizer._checkUp (包:flutter/src/gestures/tap.dart :306:5) #7 BaseTapGestureRecognizer.handlePrimaryPointer (包:flutter/src/gestures/tap.dart:239:7)

  Widget build(BuildContext context) {
    AppTranslations.init(context);
    return Scaffold(
      appBar: AppBar(
          title: Text(TRANSLATION.record_detail),
          leading: IconButton(
            onPressed: () {
              GoRouter.of(context).pop();
            },
            icon: Icon(Icons.arrow_back_ios),
            //replace with our own icon data.
          )),
Run Code Online (Sandbox Code Playgroud)

编辑:如果我打电话

GoRouter.of(context).push(CategoryDetail.routeName); 
Run Code Online (Sandbox Code Playgroud)

代替

GoRouter.of(context).go(CategoryDetail.routeName);
Run Code Online (Sandbox Code Playgroud)

有用;

Joh*_*ohn 30

修正:如果我打电话

GoRouter.of(context).push(CategoryDetail.routeName); 
Run Code Online (Sandbox Code Playgroud)

代替

GoRouter.of(context).go(CategoryDetail.routeName);
Run Code Online (Sandbox Code Playgroud)

有用;