flutter - 'showSnackBar' & 'hideCurrentSnackBar' 已弃用,不应使用

标签 flutter dart deprecated

请帮帮我,_scaffoldKey 和 _scaffoldKey.currentState 在修复代码时遇到了主要问题。

我有以下代码:

void customSnackBar(GlobalKey<ScaffoldState> _scaffoldKey, String msg,
    {double height = 30, Color backgroundColor = Colors.black}) {
  if (_scaffoldKey == null || _scaffoldKey.currentState == null) {
    return;
  }
  _scaffoldKey.currentState.hideCurrentSnackBar();
  final snackBar = SnackBar(
    backgroundColor: backgroundColor,
    content: Text(
      msg,
      style: TextStyle(
        color: Colors.white,
      ),
    ),
  );
  _scaffoldKey.currentState.showSnackBar(snackBar);
}

我已经阅读了 ScaffoldMessenger 文档,但无法理解如何将上述代码转换为使用 ScaffoldMessenger

最佳答案

是的,您现在可以改用 ScaffoldMessenger。 看这里https://flutter.dev/docs/release/breaking-changes/scaffold-messenger 在这里显示:

ScaffoldMessenger.of(context).showSnackBar(SnackBar(
    content: const Text('snack'),
    duration: const Duration(seconds: 1),
    action: SnackBarAction(
      label: 'ACTION',
      onPressed: () {
          ScaffoldMessenger.of(context).hideCurrentSnackBar;
      },
    ),
  ));

关于flutter - 'showSnackBar' & 'hideCurrentSnackBar' 已弃用,不应使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67297544/

相关文章:

android - 使用sharedPreferences在Flutter中保存开关状态

json - 'int'类型不是 'double'类型的子类型— Dart/flutter 错误

android - 如何在flutter中使用rewarded video listener?

firebase - 如何在flutter中更新firebase中的集合文档?

facebook - 关键的 Facebook 洞察力指标已弃用——替代方案未记录?

silverlight - 为什么Windows CE 上缺乏创新和Silverlight?

dart - Flutter:如何使用 JSON 数据创建数组

firebase - 如何订阅 flutter FCM 中的主题?

python - 在需求文件中添加什么

android - 带有 Agora Flutter 的视频通话接受屏幕