【问题标题】:Global scaffold to show Snackbar in flutter全球脚手架在颤动中显示 Snackbar
【发布时间】:2019-08-06 02:16:15
【问题描述】:

我正在尝试用一个全局脚手架构建一个颤振应用程序,以在每个小部件上显示一个小吃栏并与之交互。

我目前的解决方案是拥有一个嵌套材料应用程序,其中顶部应用程序作为具有全局脚手架键的脚手架的主机。这可能不是一个好习惯。

这是当前代码:

return MaterialApp(
      home: Scaffold(
        key: scaffoldKey,
        body: MaterialApp(
          title: 'MyApp',
          builder: (context, navigator) {
            return navigator
          },
        ),
      ),
    );

有没有其他解决方案而不必求助于嵌套材料应用程序?提前致谢!

【问题讨论】:

  • 这对你有用吗?

标签: dart flutter


【解决方案1】:

如果您的根小部件包含脚手架,则所有子小部件都可以使用显示小吃栏。

Scaffold.of(context).showSnackBar(snackBar);

【讨论】:

  • 我相信这只有在有 1 个脚手架的情况下才是正确的。但是如果你在 4 页中,snackbar 将不会显示在最外面的脚手架中
【解决方案2】:

您可以使用 MaterialApp 构建器“自动”将所有路线包装在这样的 Scaffold 中。

 MaterialApp(
            title: 'MyApp',
            builder: (context, child) =>
                Scaffold(appBar: null, body: child));

那么你就可以正常使用Scaffold.of(context)或者全局的scaffoldKey

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-11
    • 2020-08-10
    • 2019-12-07
    • 1970-01-01
    • 2020-09-02
    • 2023-01-13
    • 2019-08-03
    • 1970-01-01
    相关资源
    最近更新 更多