无法将参数类型'Future <Widget>'分配给参数类型'Widget'.dart

时间:2019-07-29 09:35:54

标签: pdf flutter dart flutter-layout flutter-dependencies

在这里,我必须使用 pdfImageFromImageProvider 函数来无状态小部件。因此,是否可以使用无状态窗口小部件解决此问题?

Future<Widget> getWidgetAsync(double size) async {
PdfImage val = await pdfImageFromImageProvider(
  pdf: pdf.document,
  image: fw.AssetImage('assets/' + iconPath),
);

return Container(
  width: size,
  height: size,
  decoration: BoxDecoration(
    color: layoutbg,
    shape: BoxShape.circle,
  ),
  child: Image(val),
);

}

1 个答案:

答案 0 :(得分:0)

您的方法必须返回Future<Widget>,因为我了解您问题的标题是您的错误,这意味着您返回的是Widget而不是Future<Widget>。为此,您应该像这样将小部件包装在Future中:

Future<Widget> getWidgetAsync(double size) async {
PdfImage val = await pdfImageFromImageProvider(
  pdf: pdf.document,
  image: fw.AssetImage('assets/' + iconPath),
);

return Future.value(Container(
  width: size,
  height: size,
  decoration: BoxDecoration(
    color: layoutbg,
    shape: BoxShape.circle,
  ),
  child: Image(val),
));

希望这会起作用。