user-interface - getter在flutter中的null上调用会显示错误屏幕

标签 user-interface flutter dart error-handling null

登录后,我有一个登录名和一个更新配置文件屏幕。在这里,我在genesis方法中设置用户个人资料。我面临着奇怪的问题。大多数时候,我会看到以下屏幕,其中包含用户信息。特定列是gender,在null上被调用是错误。

enter image description here


//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 ?


最佳答案

You can try it

_gender = _user?.gender?.toUpperCase() ?? _gender;

关于user-interface - getter在flutter中的null上调用会显示错误屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60148129/

相关文章:

flutter - 在我的Flutter应用中实现下一个,上一个主页,共享按钮

javascript - 用户界面 - 内联帮助覆盖

python - tkinter 滚动条折叠它所在的 Canvas

java - 为什么我总是收到找不到符号错误

flutter - Flutter:句柄值不存在于筛选器ListViewBuilder中

firebase - Flutter-Firebase Storage上传视频

android-studio - Android Studio 中的 Flutter 热重载

image - 如何在 pubspec.yaml 中有效地处理图像作为 Assets ?

c++ - 我想通过imread(opencv)加载后直接在picturebox中显示图像

android - Flutter 应用程序无法以 Debug模式启动