问题标签 [flutter-freezed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - @freezed copyWith 缺少密封类
在以下代码段中, state.copyWith 函数不可用。
但是,当我删除密封类时,copyWith 函数可用。
我需要更改什么才能使第一个片段中的 copyWith 可用?
flutter - 使用来自 id 的对象填充冻结模型
我sembast用来将模型存储在本地存储中的上下文。这里的逻辑是,每个Sprint都会有 5 个Day对象。Sprint我没有将整个对象存储在对象中,而是存储这些Day对象的 ID。请记住,所有Sprint和Day都将分别存储在本地存储中sprint和day存储中。
问题
我想使用存储Task的对象访问对象。这就是为什么,我想用对象填充对象。SprinttaskIdsSprintTask
我有一个Sprint具有以下结构的冻结模型:
和一个Day结构模型:
我days在加载视图模型时使用变量的方法
populateWithDays但是我认为它添加了丰富的代码,如果对象上有方法可以防止Sprint,可以在方法中调用onModelReady。
我可以通过修改Sprint模型来保存与in属性Day关联的 s 对象列表,当被调用时。但我不想将和存储在同一个对象中。dayIdsdayspopulateWithDaysdayIdsdays
flutter - json_serializable - 将通用字段添加到冻结/json_serializable 类
如何使Freezed对象采用泛型类型?我想做这个:
我已经尝试@With.fromString('AdministrativeArea<House>')从文档中使用,但无法将其正确应用于此类。
错误之一:
lib/src/common/enums/tags/common/vegan_item_tag.freezed.dart:142:32:错误:位置参数太少:需要 2 个,给定 1 个。
$ $_VeganItemTagFromJson(json);
认为我可能在正确的轨道上,但它不再生成vegan_item_tag.g.dart文件:
flutter - 使用 Hive 和继承实现冻结
我已经阅读了文档,但仍然无法理解它是如何与多态性一起工作的。
请参阅我希望实现的示例代码:自从,
您不能将@With/@Implements 与冻结的类一起使用。冻结的类既不能扩展也不能实现。
实现这一目标的可能方法是什么?
flutter - 飞镖冻结空类的默认值
如果 EFGModel 得到一个空的或 null abc json 值,什么是适合放在@Default()冻结注释上的值,@Default(ABCModel())是不正确的
flutter - 飞镖冻结转换为另一种数据类型
@JsonKey(name: "favourite") @Default("") String favourite
在我的 jsonfavourite中是Yand N,这意味着trueor false,可以直接在冻结中转换吗?所以我可以直接使用布尔值,而不是字符串
flutter - “Null”类型不是“Map”类型的子类型' 在类型转换错误中
在我的示例项目中,我使用riverpod包和freezed. 在下面的代码中,我可以成功地从服务器获取数据,但是当我尝试使用时,model.fromJson我得到了这个错误:
服务器响应数据:
login模型来转换服务器响应的数据和结构:
在LoginResponse类中,我定义了两个参数message,statusCode它们由服务器返回。当我尝试使用此请求时,例如:
我在这行getResponse方法上得到了前面提到的错误:
flutter - 使用 Riverpod 从冻结的联合类访问基础数据
我使用 Freezed 创建了这些联合:
然后我有一个提供者提供这样的类:
在另一个提供者中,我想访问联合中的基础数据,即产品变量。
到目前为止,我一直在这样做:
这样做的正确方法是什么?创建另一个提供商?

