【发布时间】:2021-07-17 20:30:50
【问题描述】:
我只想将此函数变量分配给 onChanged 事件,但它一直抛出错误
class TextFieldWidget extends StatelessWidget {
final String hintText;
final IconData prefixIcon;
final IconData suffixIconData;
final bool obscure;
final Function onTextChanged;
const TextFieldWidget({
Key? key,
required this.hintText,
required this.prefixIcon,
required this.suffixIconData,
required this.obscure,
required this.onTextChanged,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return TextField(
onChanged: onTextChanged,
style: TextStyle(
color: Colors.orange,
fontSize: 14.0,
),
我尝试在这里调用它
TextFieldWidget(
hintText: 'Email',
obscure: false,
prefixIcon: Icons.email,
suffixIconData: Icons.arrow_back,
onTextChanged: (Value) => homeModel.isVisable(Value),
)
..
这是家庭模型
class HomeModel extends ChangeNotifier {
//password is visable ?? the user must set this as activated by clicking the visable icon
get isVisable => _isVisable;
bool _isVisable = false;
set isVisable(value) {
_isVisable = value;
notifyListeners();
}
//if email is valid set change
get isValid => _isVisable;
// ignore: unused_field
bool _isValid = false;
void isValidEmail(String input) {
if (input == Global.ValidEmail.first) {
_isValid = true;
} else {
_isValid = false;
}
notifyListeners();
}
}
这是确切的错误 lib/widgets/textFieldWidgetStyle1.dart:22:18: 错误:参数类型'Function'不能分配给参数类型'void Function(String)?'。
- “函数”来自“dart:core”。 onChanged:onTextChanged,
【问题讨论】: