【发布时间】:2020-02-10 10:13:22
【问题描述】:
登录后我有一个登录和更新个人资料屏幕。在这里,我在genesis 方法中设置用户配置文件。我面临着奇怪的问题。大多数时候,我会看到下面的屏幕,其中确实有用户信息。特定的列是 gender,它在 null 上被调用是错误的。
//store user data
_user = new UserModel(
id: data['collection']['userData']['id'].toString(),
name: data['collection']['userData']['name'],
email: data['collection']['userData']['email'],
phone: data['collection']['userData']['phone_number'].toString(),
avatar: data['collection']['userData']['avatar'],
age: data['collection']['userData']['age'].toString(),
gender: data['collection']['userData']['gender'].toUpperCase().toString() ?? 'MALE',
totalscore: 100,
// totalscore: data['collection']['userData']['total_sessions_count'],
totaldays: data['collection']['userData']['total_session_by_days_count'],
);
以上是genesis方法中的代码,将数据存储在本地。
用户profile update screen代码如下:
Widget build(BuildContext context) {
final userProvider = Provider.of<Genesis>(context, listen: false);
_user = userProvider.user;
print('------------------------------------');
print(_user);
print('------------------------------------');
if(_firsTime){
setState(() {
_gender = _user.gender.toUpperCase() ?? _gender;
_nameController.text = _user.name;
_emailController.text = _user.email;
_ageController.text = _user.age;
_phoneController.text = _user.phone;
_avatar = _user.avatar ?? 'https://placehold.it/200x200';
_firsTime = false;
});
}
}
what is the issue here ?
【问题讨论】:
-
这个
print(_user);给你什么?
标签: user-interface flutter dart error-handling null