我正在嘗試制作自定義小部件 TextFormField,但驗證器:驗證器,顯示錯誤
引數型別“dynamic Function()”不能分配給引數型別“String? Function(String?)?'.dartargument_type_not_assignable 動態 Function() 驗證器包:store/widgets/mytextformfield.dart
mytextformfield.dart <<< 檔案小部件 TextFormField
import 'package:flutter/material.dart';
class MyTextFormField extends StatelessWidget {
final Function() validator;
final bool obserText;
final String name;
const MyTextFormField({
Key? key,
required this.obserText,
required this.validator,
required this.name,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return TextFormField(
obscureText: obserText,
**validator: validator,**
decoration: InputDecoration(
border: const OutlineInputBorder(),
hintText: name,
),
);
}
}
在登錄.dart
MyTextFormField(
obserText: obserText,
name: "Email",
validator: (value) {
if (value == "") {
return "Please Fill Email";
} else if (!regExp.hasMatch(value!)) {
return "Email is Invaild";
}
return "";
},
)
uj5u.com熱心網友回復:
嘗試僅定義為Function而不是Function():
final Function validator;
uj5u.com熱心網友回復:
替換這一行:
final Function() validator;
到:
final FormFieldValidator<String>? validator;
uj5u.com熱心網友回復:
改變:
final Function() validator;
和:
final FormFieldValidator<String>? validator
因為它是在TextFormField類中宣告的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/329965.html
