代码之家  ›  专栏  ›  技术社区  ›  Nikita

在颤振中使用键正确触发功能

  •  0
  • Nikita  · 技术社区  · 3 年前

    所以我想在颤栗中打开抽屉

    我的网站如下所示:

    final GlobalKey<ScaffoldState> _key = GlobalKey(); // Create a key
    
      @override
      Widget build(BuildContext context) {
        return GestureDetector(
          onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
          child: Scaffold(
            key: _key,
            drawer: HomeDrawer(),
            body: StartAppBar(_key.currentState!.openDrawer),
            bottomNavigationBar: BottomBar(),
          ),
        );
      }
    }
    

    在这一行中,我尝试引用函数:

    body: StartAppBar(_key.currentState!.openDrawer),
    

    &我在StartAppBar上写道:

    class StartAppBar extends StatelessWidget {
        void Function() openDrawer;
        StartAppBar(this.openDrawer);
    

    &在StartAppBar中按on时,我试图调用该函数

    onPressed: () {
                openDrawer;
              },
    

    但不知怎的,它说这是一个不必要的声明,所以我无法打开抽屉。我做错了什么?

    1 回复  |  直到 3 年前
        1
  •  1
  •   Josteve Adekanbi    3 年前

    你忘记了括号,所以它调用函数:

    onPressed: () {
        openDrawer();
    },
    

    或者干脆

    onPressed: openDrawer,