错误:参数类型 'void Function()?'不能分配给参数类型 'void Function(String?)?'
Posted
技术标签:
【中文标题】错误:参数类型 \'void Function()?\'不能分配给参数类型 \'void Function(String?)?\'【英文标题】:error: The argument type 'void Function()?' can't be assigned to the parameter type 'void Function(String?)?'错误:参数类型 'void Function()?'不能分配给参数类型 'void Function(String?)?' 【发布时间】:2021-06-18 10:29:25 【问题描述】:错误很简单,我不知道如何解决问题,请帮忙
import 'package:flutter/material.dart';
class CheetahInput extends StatelessWidget
final String? labelText;
final VoidCallback? onSaved;
CheetahInput(@required this.labelText, @required this.onSaved);
@override
Widget build(BuildContext context)
return TextFormField(
decoration: InputDecoration(
fillColor: Colors.white,
filled: true,
labelText: labelText,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
),
floatingLabelBehavior: FloatingLabelBehavior.never,
),
initialValue: '',
validator: (String? value)
return value!.isEmpty ? '$labelText is required' : null;
,
onSaved: onSaved,
);
我尝试用尖括号指定类型,但没有用 感谢您的提前帮助。
【问题讨论】:
onSaved 不是 VoidCallback !您应该提供带有 String 参数的 customCallback 或函数? 能否提供代码? 【参考方案1】:替换
final VoidCallback? onSaved;
与
final Function(String)? onSaved;
【讨论】:
【参考方案2】:替换
final VoidCallback? onSaved;
与
final FormFieldSetter<String>? onSaved;
【讨论】:
以上是关于错误:参数类型 'void Function()?'不能分配给参数类型 'void Function(String?)?'的主要内容,如果未能解决你的问题,请参考以下文章
参数类型“Function”不能分配给参数类型“void Function(bool)?”
如何将“Function”类型的参数分配给“void Function()”类型的参数?
参数类型“Function”不能分配给参数类型“void Function()?”在零安全之后
参数类型“void Function(Map<String, bool>)”不能分配给参数类型“Map<String, bool>”
错误:无法将类型“(_)->()”的值转换为预期的参数类型“(()-> Void)?”
firebase swift 3 转换:无法将类型“(_)->()”的值转换为预期的参数类型“((错误)-> Void)?