数据模型

class DataModel {
  Book? book;
  DataModel({
     this.book,
  });
}

class Book {
  String author;
  Book({
    required this.author,
  });
}

Getx控制器

class BookController extends GetxController{
   var dataModel = DataModel().obs;
  updateAuthor(){
    dataModel.value.book!.author = "";
  }
}

更新Author Getx时抛出"NULL CHECK USED On a NULLE Value"

将该函数更改为以下内容后

  updateAuthor(){
    dataModel.value.book?.author = "";
  }

它没有更新值,使其为空.

还try 使用UPDATE方法无法使用此类型的数据模型更新值.类中的类.

我只是试图更新作者,但无法做到这一点.

推荐答案

在这里,我会解释你做错了什么,

首先,你制作了一个DataModel的物体.

   var dataModel = DataModel().obs;

这个dataModel有一个book属性,您用?标记了它,所以您使它可以为空.

因此,在这一点上:

dataModel.value.book == null ; // true

您没有将一个真实的Book实例分配给book属性,所以它是null,所以这一行:

dataModel.value.book!.author = ""; // will throw an error

因为dataModel.value.book等于null.

将一个新的Book()对象分配给book属性所需的内容如下,将author属性指定为Book()

  updateAuthor(){
  dataModel.value.book = Book(author: "");
  dataModel.refresh();
  }

现在我们将一个真实的Book对象分配给book,这将修复您收到的空错误.

Flutter相关问答推荐

我的flutter代码显示一个小部件被认为是死代码,为什么?

为什么我的PUT请求不能正常工作?

如何在Flutter 中创造以下效果

如何在Dart中允许正则表达式中有一个空格,但允许其他字符为1或更多?

Flutter 需要 Xcode 14 或更高版本

Flutter CarouselSlider中如何防止右图与放大的中心图重叠?

GridView 渲染项目之间有微小的间隙

Flutter Firebase 升级后出现问题? ARC 语义问题 (Xcode): Select 器appleCredentialWithIDToken:rawNonce:fullName:没有已知的类方法

PreferredSizeWidget类不能用作混合,因为它既不是混合类也不是混合

如果不刷新页面,我看不到从 Firestore 中提取的数据

Flutter canvas 绘制不同 colored颜色 的原始点

如何格式化网址?

Flutter - 定义按钮的优雅方式

Pub get 尚未运行

单元测试中如何比较NaN和NaN是否相等

为什么 setState 不改变我的变量 Flutter?

配置项目:firebase_core时出现问题

Flutter 将方法应用于静态变量

解密 Modulr 安全令牌

同时更改有关 TextField 的文本