试图找出这个颤振问题。下面的代码已弃用 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"))
);
}
},
Run Code Online (Sandbox Code Playgroud)
Joe*_*ler 45
根据此处的文档,新的 ScaffoldMessenger 似乎可以处理其下方的所有 SnackBar。如果您没有多个 ScaffoldMessengers,您应该能够调用:
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Login failed")));
Run Code Online (Sandbox Code Playgroud)
Mah*_*ahi 14
根据官方文档:
“showSnackBar”已弃用,不应使用。使用 ScaffoldMessenger.showSnackBar。此功能在 v1.23.0-14.0.pre 之后已弃用。
显示小吃栏的新方式:
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Enter somethong here to display on snackbar")));
Run Code Online (Sandbox Code Playgroud)
旧方法(使用脚手架键):
_scaffoldkey.currentState.showSnackBar(snackbar);
Run Code Online (Sandbox Code Playgroud)
这已经不能用了,避免它并使用新的方式代替。
小智 6
这是将小吃店添加到脚手架的新方法。
ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text("Incremented"), duration: Duration(milliseconds: 300), ), );
Run Code Online (Sandbox Code Playgroud)
用 _key.currentState.ShowSnackBar(snackbar)
现在已经过时。
归档时间: |
|
查看次数: |
9598 次 |
最近记录: |