参数类型'jsObject'不能分配给'buildContext'参数吗?

时间:2020-03-17 21:37:58

标签: flutter dart

当我尝试将需要将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 个答案:

答案 0 :(得分:1)

您上面的代码没有上下文,因为您没有为 home 创建有状态无状态类/ 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){

  }
}

希望这对您有用。