Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 参数类型';jsObject';can';不能分配给';buildContext';参数_Flutter_Dart - Fatal编程技术网

Flutter 参数类型';jsObject';can';不能分配给';buildContext';参数

Flutter 参数类型';jsObject';can';不能分配给';buildContext';参数,flutter,dart,Flutter,Dart,当我尝试将需要将buildcontext作为参数的方法放入浮动操作按钮小部件中时,就会发生此错误 我尝试将相同的方法移动到具有构建器的不同小部件上,效果很好,那么为什么FA按钮没有父上下文呢? 这里是它发生的地方: runApp(MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold( appBar: AppBar( title: Text('policies

当我尝试将需要将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),
          ))));`

您上面的代码没有上下文,因为您没有为主页创建有状态无状态

我认为你应该这样做

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的上下文调用)。我在这里找到了它-->thx