Flutter - 不能将函数类型的参数分配给“void function()”类型的参数

时间:2021-05-30 14:44:10

标签: flutter dart

我为 StatelessWidget 创建了一个 ElevatedButton(),当我将 Argument of type function can't be assigned to the parameter of type void function() 传递给 {{1} 的 selectHandler 参数时,我收到此错误 onPressed }. ElevatedButton()selectHandler 类型变量。

我哪里出错了?

Function

1 个答案:

答案 0 :(得分:1)

onPressed 期待一个 void Function()(又名 VoidCallback),但 selectedHandler 的类型没有指定函数的参数列表或返回类型。

您可以将类型指定为 final void Function() selectHandler,这意味着函数不接受任何参数并返回 void

Flutter 还提供类型 VoidCallback 作为 dart:ui 的一部分,它与 void Function() 相同,因此您也可以使用它,在这种情况下,您的类型变为 {{1} }.