如何将小部件传递到其他存档?

时间:2020-03-17 14:39:07

标签: flutter widget

我有两个代码:

import 'package:flutter/material.dart';

class ScaffoldModels extends StatelessWidget {

  final Widget bodyWidget;

  ScaffoldModels(this.bodyWidget);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color.fromRGBO(255, 179, 0, 85),
      appBar: AppBar(
        title: Text(
          "ROTA 56 - TESTE",
          style: TextStyle(color: Colors.orange, fontSize: 26, fontFamily: ''),
        ),
        centerTitle: true,
        backgroundColor: Colors.yellow,
      ),
      body: bodyWidget,
    );
  }
}

和:

import 'package:flutter/material.dart';
import 'package:rota56project/defaultmodels/scaffold.dart';

class PlottingScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    ScaffoldModels(_bodyPlotting);
  }
}

Widget _bodyPlotting(BuildContext context) {
  return Container();
}

在我的main.dart中,我称为PlottingScreen。

但是在这一行:

    ScaffoldModels(_bodyPlotting);

我收到此消息: strong无法将参数类型'Widget Function(BuildContext)'分配给参数类型'Widget'.dart(argument_type_not_assignable)文本

我的错误是什么?

1 个答案:

答案 0 :(得分:0)

ScaffoldModels(_bodyPlotting); 行中,您正在使用 _bodyPlotting ,就好像 ScaffoldModels 以函数作为其参数

但是您希望将 _bodyPlotting 返回的内容传递给 ScaffoldModels

您需要的是

ScaffoldModels(_bodyPlotting(context));