【发布时间】:2022-01-20 01:30:00
【问题描述】:
下面的代码给了我一个错误:“rememberMe = newValue”的: “'bool 类型的值?'不能分配给 'bool' 类型的变量。”
但如果我将rememberMe 的声明更改为“bool?rememberMe = false;” 然后我在线上出现错误: “如果(记住我){”的: “不能为空的表达式不能用作条件。”
布尔值?还会在以下行中产生问题:“prefs.setBool('remember', rememberMe);”
bool rememberMe = false;
...
setRemberMeValue() async {
await _getRememberUser();
if (rememberMe) {
usernameController.text = userName;
passwordController.text = password;
setState(() {
rememberMe = rememberMe;
});
}
}
@override
Widget build(BuildContext context) {
final userField = UserTextField(style: style, usernameController: usernameController);
final passwordField = PasswordTextField(style: style, passwordController: passwordController);
final rememberMeCheckbox = Checkbox(
value: rememberMe,
onChanged: (newValue) {
setState(() {
rememberMe = newValue;
});
},
);
【问题讨论】: