相关疑难解决方法(0)

Flutter WillPopScope 用于嵌套导航

我有带有嵌套导航器的 Flutter 应用程序,我想WillPopScope在我的嵌套屏幕中使用覆盖“onBackPressed” 。

假设我有MainScreen, PrimaryScreen, 和SecondaryScreenPrimaryScreen嵌套导航仪,它有几个屏幕一样PrimaryOneScreenPrimaryTwoScreenPrimaryThreeScreen

SecondaryScreen也是一个嵌套的 Navigator,就像PrimaryScreen,它有 3 个屏幕。

这是我想要实现的目标的说明

MainScreen-> PrimaryScreen( PrimaryOneScreen-> PrimaryTwoScreen-> PrimaryThreeScreen)

当我在 上的位置时PrimaryTwoScreen,我想回到PrimaryOneScreen使用WillPopScopeWidget覆盖“onBackPressed”的状态。但是onWillPop当我按下后退按钮时从未调用过,我的屏幕直接返回到MainScreen.

这是我的代码

主屏幕.dart

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData( …
Run Code Online (Sandbox Code Playgroud)

android flutter flutter-navigation

7
推荐指数
1
解决办法
2058
查看次数

无法在新页面路由小部件中访问提供者

我无法访问推送到当前导航器的小部件中的提供程序:

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:provider/provider.dart';


void main() => runApp(MyApp());

class MyModel with ChangeNotifier {
  String a = 'Test1';
  String b = 'Test2';
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {    

    return MaterialApp(
        title: 'Flutter Demo',
        home: ChangeNotifierProvider(
            create: (context) => MyModel(),
            child: MyHomePage()
        )
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {    

    return Consumer<MyModel>( …
Run Code Online (Sandbox Code Playgroud)

state dart flutter flutter-navigation

1
推荐指数
1
解决办法
2333
查看次数

标签 统计

flutter ×2

flutter-navigation ×2

android ×1

dart ×1

state ×1