gpt4 book ai didi

具有 .obs 和 hive 字段的 flutter 模型

转载 作者:行者123 更新时间:2023-12-05 06:54:42 26 4
gpt4 key购买 nike

我对 Flutter 有点陌生。我正在编写一个包含 Getx 和 Hive 包的应用程序。

我想通过使每个字段具有反应性来使我的模型可观察。我更喜欢这种方法,而不是让整个类在 Controller 中可见;这样做是模型本身引发了变化,在我看来这更类似于标准的 mvvm 方法(如果我错了你可以纠正我)。

我还想用@HiveField 标记我的模型字段。

现在,问题是我无法标记 Rx 字段,我被迫编写两个不同的字段,Rx 字段和 Hive 字段。类似的东西:

  @HiveField(1)
int _fieldDb;

RxInt fieldRx;

GbTrait(int value) :
_fieldDb = value,
fieldRx = value.obs;

通过这样做,我需要一直更新这两个值...有更好的方法吗?非常感谢您的帮助。

最佳答案

您可以收听 Rx<T>就像你会使用 Stream 一样s,所以每次你设置一个值给那个 Rx<T>另一种方法将执行以更新也在 Hive 中的字段:

// ...
Rx<int> RxField = 0.obs.
RxField.listen((newValue) {
updateHiveField(newValue);
});

void updateHiveField(int newValue) {
Hive.box("yourBoxName").putAt(indexOfField, newValue);
}

现在每次设置这样的值时:

RxField.value = 10;

updateHiveField方法将自动执行更新 Hive字段。

关于具有 .obs 和 hive 字段的 flutter 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65475958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com