Flutter 按触发器时无法在Appbar操作小部件内显示snackbar

Flutter 按触发器时无法在Appbar操作小部件内显示snackbar,flutter,Flutter,在appbar中,我有一个actions小部件-IconButton。在它的onPress()上,我试图显示一个snackbar,然后调用另一个函数。传递的函数调用main()上的setState。小吃条没有出现 如果禁用函数调用,snackbar将显示。我用gloablkey来指封装脚手架 _scaffKey.currentState.showSnackBar( SnackBar( content: Text(

在appbar中,我有一个actions小部件-IconButton。在它的onPress()上,我试图显示一个snackbar,然后调用另一个函数。传递的函数调用main()上的setState。小吃条没有出现

如果禁用函数调用,snackbar将显示。我用gloablkey来指封装脚手架

_scaffKey.currentState.showSnackBar(
         SnackBar(
                content: Text(
                   'Saved',
                 style: TextStyle(
                    fontSize: 24,
                    fontWeight: FontWeight.w700,
                    color: Colors.white,
                  ),
                textAlign: TextAlign.center,
               ),
            duration: Duration(seconds: 2),
         ),
   );
   widget.setFilterState({
        "isLocal": _isLocal,
        "isPure": _isPure,
   });
    return Scaffold(
      key: _scaffKey,
      appBar:...
我要把globalkey放在脚手架上

_scaffKey.currentState.showSnackBar(
         SnackBar(
                content: Text(
                   'Saved',
                 style: TextStyle(
                    fontSize: 24,
                    fontWeight: FontWeight.w700,
                    color: Colors.white,
                  ),
                textAlign: TextAlign.center,
               ),
            duration: Duration(seconds: 2),
         ),
   );
   widget.setFilterState({
        "isLocal": _isLocal,
        "isPure": _isPure,
   });
    return Scaffold(
      key: _scaffKey,
      appBar:...

我期待着snackbar的出现。但是也没有错误。

也许您应该尝试使用Scaffold.of(context).showSnackBar而不是_scaffKey.currentState.showSnackBar。当调用父窗口小部件上的
setState
时,与
关联的scaffKey
从堆栈中移除。尝试
等待_scaffKey.currentState.showSnackBar(..)
然后调用下一个函数。