flutter 参数类型“Future< Widget>”不能赋给参数类型“Widget”,dart

6vl6ewon  于 2022-12-30  发布在  Flutter
关注(0)|答案(1)|浏览(332)

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

}

xe55xuns

xe55xuns1#

你的方法必须返回Future<Widget>,因为我理解你的问题的标题是你的错误,这意味着你返回的是Widget而不是Future<Widget>。要做到这一点,你应该像这样把你的小部件 Package 在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),
));

希望这能管用。

相关问题