如何在将flutter升级为flutter 2.0.4后提取具有onPressed方法的小部件



在过去,当我提取具有按钮和onPressed方法的小部件时,

我曾经用一个function数据类型的变量替换onPressed方法使用的回调函数

但现在,当我在将flutter版本升级到2.0.4后尝试提取一个名为RoundedButton的小部件时,这是最新的稳定版本的flutter。

它给了我一个错误:

**The argument type 'Function' can't be assigned to the parameter type 'void Function()?'.**

这是代码onPressed: onPressed,行下有红线的代码:

class RoundedButton extends StatelessWidget {
final String title;
final Color color;
final Function onPressed;
RoundedButton(
{required this.onPressed, required this.color, required this.title});
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 16.0),
child: Material(
color: color,
borderRadius: BorderRadius.all(Radius.circular(30.0)),
elevation: 5.0,
child: MaterialButton(
onPressed: onPressed,
minWidth: 200.0,
height: 42.0,
child: Text(
title,
style: TextStyle(color: Colors.white),
),
),
),
);
}
}

而不是原来的类型:`

函数

我弄清楚了在颤振2.0.4 中使用的onPressed方法的类型

是`

VoidCallback?

导入**dart:io**

使用按下时的最终VoidCallback;//final void Function((on按下;

最新更新