dart 不通过Hive保存数据

dgtucam1  于 5个月前  发布在  Hive
关注(0)|答案(1)|浏览(60)

我想使用Hive保存文本字段的值,以便在打开和关闭应用程序时不会丢失该值。但这并没有正确完成。
代码:

ElevatedButton(
      onPressed: () {
        box.put(1, userNameController.text);
        var name = box.get(1);
        task?.userName = userNameController.text;
        print(name);
        print(task?.userName);
      },
      child: Text('Save'),
    ),

字符串
这里我用key 1put输入值,然后get它。在我的model class中,我有一个userName,它的那个textfield的输入值应该等于那个class model,最后通过调用那个model和class,我会把输入值显示为text。但是textfield的输入值不等于user class!在控制台打印时,我也遇到了null
x1c 0d1x的数据

hpcdzsge

hpcdzsge1#

规则是,在将对象的属性赋给某些值之前,必须先示例化对象。在此示例代码中:

taskModel? task;
task?.userName = 'something';

字符串
第二行什么也不做。你必须首先使用一个构造函数:

taskModel? task; // It's ok to define first, and instantiate later

// Somewhere
task = taskModel(
  // put the required parameters
  // ...
);
task?.userName = "something";


现在最后一行实际上将值“something”赋给taskuserName属性。

相关问题