参数类型“Future<Widget>”无法分配给参数类型“Widget”.dart

问题描述 投票:0回答:1

这里我必须使用 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),
);

}

pdf flutter dart flutter-layout flutter-dependencies
1个回答
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),
));

希望这会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.