【发布时间】:2020-08-15 21:49:05
【问题描述】:
我目前正在我的 iPhone 8 和我的 Android moto G8 上测试我的 Flutter 应用程序。
但是,我遇到的问题是,虽然在我的 Android moto G8 上一切正常,但在我的 iPhone 上,似乎每当我更改 TextField 时,前一个 TextField 中的值都会变为 null,即:
flutter: This is in error: 'package:firebase_auth/src/firebase_auth.dart': Failed assertion: line 174 pos 12: 'email != null': is not true.
但是当我在设备上打字时,打印输出是:
flutter: This is in email:test@gmail.com, value: test@gmail.com
这是我的自定义文本字段的代码:
class InputTextFields extends StatefulWidget {
InputTextFields({this.title, this.obscureText, this.setValue});
final String title;
final bool obscureText;
Function setValue;
final TextEditingController _controller = TextEditingController();
@override
_InputTextFieldsState createState() => _InputTextFieldsState();
}
class _InputTextFieldsState extends State<InputTextFields> {
@override
Widget build(BuildContext context) {
String hintText;
return Container(
padding: EdgeInsets.only(bottom: 10, left: 35, right: 35),
child: TextField(
obscureText: widget.obscureText,
decoration: InputDecoration(
labelText: widget.title,
labelStyle: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold,
color: Colors.grey),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: Colors.grey,
),
),
hintText: hintText,
),
onChanged: widget.setValue,
),
);
}
}
所以我确信 TextField 正在按预期工作,但错误仍然存在。有什么想法可以解决这个问题吗?
【问题讨论】: