0

当他使用 Getx 登录到个人资料屏幕时,我正在尝试显示该人的姓名和电子邮件

                              Column(
                                children: [
                                  Text(
                                    controller.userModel!.name,
                                    style: TextStyle(
                                      fontSize: 20,
                                      fontWeight: FontWeight.w600,
                                      color: Kprimarycolor,
                                    ),
                                  ),
                                  Text(
                                    controller.userModel!.email,
                                    style: TextStyle(
                                      fontSize: 20,
                                      fontWeight: FontWeight.w600,
                                      color: Kprimarycolor,
                                    ),
                                  ),
                                ],
                              ),
                            ],

但是此错误一直显示vs 代码的错误和终端中的错误

姓名和电子邮件的相关代码是

class UserModel {
  late String? userId, email, name, pic;

  UserModel({
    required this.userId,
    required this.email,
    required this.name,
    required this.pic,
  });
  UserModel.fromJson(Map<dynamic, dynamic> map) {
    userId = map['userId'];
    email = map['email'];
    name = map['name'];
    pic = map['pic'];
  }
  toJson() {
    return {
      'userId': userId,
      'email': email,
      'name': name,
      'pic': pic,
    };
  }
}

我尝试添加 .toString() 和 as String 但调试后错误一直显示

4

2 回答 2

0
Column(
                            children: [
                              Text(
                                controller.userModel!.name!,
                                style: TextStyle(
                                  fontSize: 20,
                                  fontWeight: FontWeight.w600,
                                  color: Kprimarycolor,
                                ),
                              ),
                              Text(
                                controller.userModel!.email!,
                                style: TextStyle(
                                  fontSize: 20,
                                  fontWeight: FontWeight.w600,
                                  color: Kprimarycolor,
                                ),
                              ),
                            ],
                          ),
                        ],

我加了“!” 字符,它应该工作。

于 2021-09-24T16:01:07.807 回答
0

在您的模型中, late String? userId, email, name, pic;@Salih 可以回答将起作用。

这里,String?表示字符串可以接受空值。但Text小部件不接受空值。您需要使用 bang 运算符!来处理它,并且通过添加!意味着该值不再为空。更好的做法是检查它是否为空,然后分配 on Text。有可能

  • Text(myVal==null? "defalut value": myVal)
  • Text(myVal??"default Value")
  • if(myval!=null) Text(myVal)并且仅当字符串不为空时才会呈现。
于 2021-09-24T16:15:51.887 回答