首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决脚手架问题

如何解决脚手架问题
EN

Stack Overflow用户
提问于 2022-11-21 15:04:53
回答 1查看 46关注 0票数 0
代码语言:javascript
运行
复制
void show() {
    scaffoldKey.currentState.showSnackBar(SnackBar(
      content: Text(
        title,
        style: TextStyle(fontSize: 16),
      ),
      backgroundColor: haserror ? errorColor : succses,
      behavior: isfloating ? SnackBarBehavior.floating : SnackBarBehavior.fixed,
      margin: isfloating ? EdgeInsets.all(20) : null,
      duration: Duration(seconds: 2),
      action: actionTile != ""
          ? SnackBarAction(
              label: actionTile,
              onPressed: onPressed == null
                  ? () {
                      scaffoldKey.currentState.hideCurrentSnackBar();
                    }

我正在尝试运行一些项目,但是有这个错误。

代码语言:javascript
运行
复制
    "message": "The method 'showSnackBar' isn't defined for the type 'ScaffoldState'.\nTry correcting the name to the name of an existing method, or defining a method named 'showSnackBar'.",
}]

我仍然困惑于如何解决,在颤振发展中仍然是新的。

EN

Stack Overflow用户

发布于 2022-11-21 15:47:50

在较新版本的颤振中,您必须使用ScaffoldMessenger来显示快捷键。因此,您不需要存储scaffoldKey

如果您使用的是StatefulWidget,请尝试如下:

代码语言:javascript
运行
复制
void show() {
  ScaffoldMessenger.of(context).showSnackBar(
    SnackBar(...),
  );
}

如果使用的是StatelessWidget,则需要在调用时将context传递给show方法。在这种情况下试试这个:

代码语言:javascript
运行
复制
void show(BuildContext context) {
  ScaffoldMessenger.of(context).showSnackBar(
    SnackBar(...),
  );
}

因为隐藏了零食条:

代码语言:javascript
运行
复制
ScaffoldMessenger.of(context).hideCurrentSnackBar();
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74520936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档