我有两个代码:
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)文本
我的错误是什么?
答案 0 :(得分:0)
在 ScaffoldModels(_bodyPlotting); 行中,您正在使用 _bodyPlotting ,就好像 ScaffoldModels 以函数作为其参数>
但是您希望将 _bodyPlotting 返回的内容传递给 ScaffoldModels
您需要的是
ScaffoldModels(_bodyPlotting(context));