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