参数类型“jsObject”不能分配给“buildContext”参数?
Posted
技术标签:
【中文标题】参数类型“jsObject”不能分配给“buildContext”参数?【英文标题】:The argument type 'jsObject' can't be assigned to 'buildContext' parameter? 【发布时间】:2020-03-17 21:37:58 【问题描述】:当我尝试在浮动操作按钮小部件中放置需要将 buildcontext 作为参数的方法时发生该错误。
我尝试将相同的方法移动到具有构建器的不同小部件并且效果很好,那么为什么 FA 按钮没有父上下文? 这是发生的地方:
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: Text('policies list'),
),
body: getList(),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () => showSB(context),
))));`
【问题讨论】:
【参考方案1】:您上面的代码没有 context,因为您没有为 homeStateful 或 Stateless 类/strong>
我认为你应该这样做
void main() => runApp(MyApp());
class MyApp extends StatelessWidget
// This widget is the root of your application.
@override
Widget build(BuildContext context)
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Home(),
);
class Home extends StatelessWidget
@override
Widget build(BuildContext context)
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: ()
someMethodThatTakesContextAsParameter(context);
,
),
);
void someMethodThatTakesContextAsParameter(BuildContext context)
希望这对你有用。
【讨论】:
非常感谢它的工作,但它显示了一个新的异常(Scaffold.of() 使用不包含 Scaffold 的上下文调用。) 我在这里找到了 --> ***.com/questions/51304568/… thx以上是关于参数类型“jsObject”不能分配给“buildContext”参数?的主要内容,如果未能解决你的问题,请参考以下文章
获取错误“未知”类型的参数不能分配给“错误”类型的参数 |空值'
参数类型“对象?”不能分配给参数类型'String'最新版本
参数类型“Type”不能分配给参数类型“FirebaseUser”