Flutter 回调函数不适用于自定义键
尝试制作定制键盘Flutter 回调函数不适用于自定义键,flutter,dart,Flutter,Dart,尝试制作定制键盘 class KeyboardButton extends StatelessWidget { const KeyboardButton({required this.buttonChild, this.onPress}); final Function? onPress; final Widget buttonChild; @override Widget build(BuildContext context) { return GestureDe
class KeyboardButton extends StatelessWidget {
const KeyboardButton({required this.buttonChild, this.onPress});
final Function? onPress;
final Widget buttonChild;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () => onPress,
child: Container(child: buttonChild),
);
}
}
信息技术的使用
KeyboardButton(
onPress: () => print('1'), // this doesn't work
buttonChild: Column(...),
)
由于某种原因,回调不起作用。如何修复它?我发现这里缺少两件事 一个是
final void Function()?onPress代码>。因为之前没有准确地指定返回类型
秒为onTap:onPress
。因为之前您只是返回函数变量,而不是调用您的onPress
函数。这也可以写成onTap:()=>onPress?.call()
onTap:onPress,
@pskink错误:无法将参数类型“Function”指定给参数类型“void Function()因此,定义onPress
的方法与定义方法相同-可以是GestureTapCallback?
或void Function?
@pskink,但有一点不同-onTap定义为GestureTapCallback
,但IDE显示类型:void Function()?
ononTap
基本上GestureTapCallback
定义为:-我的意思是typedef GestureTapCallback=void Function()代码>