flutter - SnackBar 不显示 Flutter
问题描述
有一个问题,SnackBar
应该显示在教程视频中,但它没有。
我正在尝试使用 GlobalKey 创建 _scaffoldKey,但它不起作用。
这是我的代码:
void main() {
runApp(ProviderScope(
child: MyHomePage(),
));
}
final counterStateProvider = StateProvider<int>((ref) {
return 0;
});
class MyHomePage extends ConsumerWidget {
@override
Widget build(BuildContext context, ScopedReader watch) {
final counter = watch(counterStateProvider);
return ProviderListener<StateController<int>>(
provider: counterStateProvider,
onChange: (context, counterState) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Value is ${counterState.state}'),
),
);
},
child: MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () => context.read(counterStateProvider).state++,
child: Icon(Icons.ios_share_sharp),
),
body: Center(
child: Text(
'value: ${counter.state}',
style: Theme.of(context).textTheme.headline6,
),
),
),
),
);
}
}
解决方案
推荐阅读
- typescript - 如何使用局部变量引用类实例?
- c++ - 哪个是产生线程的最佳方法?
- java - Apache cxf 无法发送 MULTIPART_BOUNDARY 数据
- python-3.x - 如何从熊猫数据框中的两列中提取匹配的关键字?
- java - 如果我作为常规测试运行 VS 运行覆盖测试(在 intellij 中),最终图像结果会发生变化
- sql - 嵌套 where exists 执行时间过长
- python - pass pem file,certificate and user to authenticate
- jasper-reports - 项目符号不在 jasper 报告生成的 pdf 中打印,但在 jasper soft studio 中正确预览
- android - 正在使用适合长时间运行的网络调用的 WorkManager
- react-native - 使用 redux 获取数据对我不起作用,initialState 不会改变