快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → flutter-解决go_router和smartdialog-初始化冲突的问题

flutter-解决go_router和smartdialog-初始化冲突的问题

时间:2022-09-28 16:55:33人气:作者:快盘下载我要评论

项目的路由库是使用的go_router,对话框使用的是smartdialog

go_router

flutter_smart_dialog

然后就遇到问题了;两个的初始化冲突;具体为

smartdialog初始化

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

class MyApp extends StatelessWidget {
  ;override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Homepage,
      // here
      navigatorObservers: [FlutterSmartDialog.observer],
      // here
      builder: FlutterSmartDialog.init(),
    );
  }
}

go_router初始化

import ;package:flutter/material.dart;;
import ;package:go_router/go_router.dart;;

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

class App extends StatelessWidget {
  App({Key? key}) : super(key: key);

  ;override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: _router,
      title: ;GoRouter Example;,
    );
  }

  final GoRouter _router = GoRouter(
    routes: <GoRoute>[
      GoRoute(
        path: ;/;,
        builder: (BuildContext context, GoRouterState state) {
          return ScreenA();
        },
      ),
      GoRoute(
        path: ;/b;,
        builder: (BuildContext context, GoRouterState state) {
          return ScreenB();
        },
      ),
    ],
  );
}

go_router初始化需要使用MaterialApp.router()方法;smartdialg需要在MaterialApp()中设置这个参数 

navigatorObservers: [FlutterSmartDialog.observer],

这样问题就来了;MaterialApp.router()里面根本就没有这个参数;设置不了

navigatorObservers

咋整;这两个库我都很喜欢啊;那我就都得要;实现办法就是在MaterialApp.router()设置routerConfig的时候;不是传了一个自定义的router进去吗?在那里面设置navigatorObservers参数

flutter-解决go_router和smartdialog-初始化冲突的问题

 这样这两个库就都能用啦

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。