onPressed 中的錯誤嘗試傳遞 onPressed 函式但出現錯誤。
錯誤 - 引數型別“Function”不能分配給引數型別“void Function()?”。
class CircleButton extends StatelessWidget {
CircleButton({required this.icon, required this.onPressed});
final IconData icon;
final Function onPressed; [![Error][1]][1]//Here
@override
Widget build(BuildContext context) {
return ElevatedButton(
child: Icon(icon),
onPressed: onPressed,
style: ElevatedButton.styleFrom(
elevation: 6.0,
primary: Color(0xFF4C4F5E),
shape: CircleBorder(),
padding: EdgeInsets.all(15),
),);
}}
uj5u.com熱心網友回復:
Function型別實際上是一種型別dynamic Function。
ElevatedButton期望 avoid Function到它的方法onPressed,實際上有一個型別是typedef它的 a :VoidCallback
因此,將您的替換Function onPressed為VoidCallback onPressed.
uj5u.com熱心網友回復:
將函式更改為 VoidCallback
class CircleButton extends StatelessWidget {
CircleButton({required this.icon, required this.onPressed});
final IconData icon;
final VoidCallback onPressed; //Change Function to VoidCallback
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: onPressed,
child: Icon(icon),
style: ElevatedButton.styleFrom(
elevation: 6.0,
primary: Color(0xFF4C4F5E),
shape: CircleBorder(),
padding: EdgeInsets.all(15),
),
);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430637.html
上一篇:列印鍵值在map<String,dynamic>Employee中為空
下一篇:顫動中的滾動導航
