我正在 flutter 地建立一个计算器,我试图将带有参数的回调onclick函数传递给另一个文件中的按钮小部件,但是当我单击任何按钮时,它将引发异常,该方法在null上被调用。我也不知道如何在CustomBtn类中使用参数声明函数。
这是我传递函数的主要小部件:
CustomBtn(
btext: '8',
color: Colors.grey[600],
textColor: Colors.grey[50],
onClick: buttonPressed('8'),
),
这是按钮小部件: class CustomBtn extends StatelessWidget {
final String btext;
final color;
final textColor;
final Function onClick;
CustomBtn({
this.btext,
this.color,
this.textColor,
this.onClick,
});
@override
Widget build(BuildContext context) {
return RaisedButton(
child: Text(
btext,
style: TextStyle(fontSize: 35.0, color: textColor),
),
onPressed: () => onClick(btext),
color: color,
padding: EdgeInsets.fromLTRB(0.0, 24.0, 0.0, 24.0),
);
}
}
最佳答案
将函数传递给onClick
参数时,您正在调用该函数。相反,只需将引用传递给函数即可。
CustomBtn(
btext: '8',
color: Colors.grey[600],
textColor: Colors.grey[50],
onClick: buttonPressed,
),
关于function - 在空方法上调用了 'call'方法。 flutter ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63086773/