微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“showSnackBar”已弃用,不应使用

如何解决“showSnackBar”已弃用,不应使用

试图找出这个颤振问题。下面的代码已弃用 showSnackbar,我正在尝试找出修复方法。第二个代码是我解决问题的尝试。一个新问题出现了“未为类型 'ScaffoldState' 定义 getter 'ScaffoldMessenger'。”。该错误告诉我要导入 material.dart 文件,但它已被导入。

感谢任何帮助。

              Padding(
                padding: const EdgeInsets.all(10.0),child: GestureDetector(
                  onTap: ()async{
                    if(!await authProvider.signIn()){
                      _key.currentState.showSnackBar(
                        SnackBar(content: Text("Login Failed"))
                      );
                    }
                  },Padding(
                padding: const EdgeInsets.all(10.0),child: GestureDetector(
                  onTap: ()async{
                    if(!await authProvider.signIn()){
                      _key.currentState.ScaffoldMessenger.of(context).showSnackBar(
                        SnackBar(content: Text("Login Failed"))
                      );
                    }
                  },

解决方法

基于 documentation here,看起来新的 ScaffoldMessenger 处理它下面的所有 SnackBar。如果您没有多个 ScaffoldMessengers,您应该能够调用:

ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Login failed")));
,

是的,这是新的脚手架方式

ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text("Incremented"),duration: Duration(milliseconds: 300),),);
,

根据官方文档:

'showSnackBar' 已弃用,不应使用。采用 ScaffoldMessenger.showSnackBar。此功能在之后被弃用 v1.23.0-14.0.pre...

显示小吃店的新方式:

import numpy as np
from sklearn.linear_model import LinearRegression
LR = LinearRegression()

data = np.arange(0,100)
x_train,y_train= np.split(data.sample(frac=1,random_state=1500),[int(0.7 * len(data))])
LR.fit(X_train,y_train)
LR.predict(x_train)

旧方法(使用脚手架键):

ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Enter somethong here to display on snackbar")));

这个不能再用了,避免它,改用新的方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。