当前位置: 首页 > 知识库问答 >
问题:

Flutter GetX和获取存储错误类型:列表不是匿名关闭后映射类型的子类型

范志勇
2023-03-14

我面临一个错误,谷歌后是很常见的,但我没有找到类似的代码,因为我使用GetX和获取存储。所以,我正在构建一个简单的(不适合我,因为我是新的Flutter)购物清单应用程序(基本上是一个待办事项应用程序),当我将一个项目添加到列表中时,如果我回到堆栈上,G<-plhd--0/>(),然后我再次打开购物屏幕,我再次面对错误。

这是控制台消息:

建筑生成器(脏)引发了以下类型错误:“ShoppingList”类型不是“Map”类型的子类型

相关的导致错误的小部件是GetMaterialApp lib\main.dart:21抛出异常时,这是堆栈

#0 ShoppingListController.on初始化。

包装:一个地点所有笔记/控制器/购物清单控制器。省道:19

#1可映射列表。元素地址(省道:内部/可编辑。省道:411:31)

#2列表terator.move下一个(镖:_internal/iterable.dart:340: 26)

#3新_GrowableList_ofEfficientLengthIterable(镖:核心补丁/growable_array.dart:188: 27)

#4新的可扩展列表。of(飞镖:核心补丁/可生长_阵列。飞镖:150:28)

这是一节课:

class ShoppingList {
String text;
bool done;

ShoppingList({this.text, this.done = false});

factory ShoppingList.fromjson(Map<String, dynamic> json) => ShoppingList(
text: json['text'],
done: json['done'],
);

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data['text'] = this.text;
return data;
}
}

这是发生错误的控制器:

class ShoppingListController extends GetxController {
var shoppings = <ShoppingList>[].obs;

@override
void onInit() {
List storedShoppings = GetStorage().read<List>('shoppings');

if (storedShoppings != null) {
shoppings = storedShoppings
.map((e) => ShoppingList.fromjson(e))
.toList().obs;
}

共有1个答案

谷梁楷
2023-03-14

经过几个小时的努力,我解决了这个问题。我不知道这是不是正确的方法,但它奏效了。

在onPressed功能中,使用Get弹出屏幕。背();我还添加了另一个GetX方法,Get。appUpdate();

因为我注意到热重载后我没有问题,强制应用程序更新为我解决了这个问题。但是如果有更好的解决办法,我很高兴听到。

 类似资料:
  • 因此,我创建了一个应用程序,通过api读取数据,并尝试解析JSON api 这是我的错误截图 我试着把它改成一个列表,但它仍然读取一个错误 这是我的密码大象。飞奔 如何纠正此错误?请帮忙

  • 我试图获得用户信息后,用户输入电子邮件和密码。我使用的api会返回我用户的额外信息,所以我尝试从中获取这些信息。 我试图解析这个json: 这些是我的模型: 这是我发送电子邮件、密码和获取用户数据的部分: 这是给我错误的部分 我打印了响应体,它给出了我想要的字符串,但是jsonDecode返回了一个列表,所以我不能使用它。我怎样才能解决这个问题?提前谢谢。

  • 我目前正在构建一个通过api读取数据的应用程序,我正在尝试从JSON占位符解析JSON api。 我为用户(users_future_model.dart)做了一个模型类: 这是将json读入小部件的main.dart: 这是我试图阅读的JSON信息,尽管它只是其中的一小部分: 我当前遇到的错误是: 如何纠正此错误?

  • 我正面临着一个奇怪的颤动错误。我使用json序列化。 这是我的密码 我的web api发送的数据如下 这是数组的数组。 生成错误的代码是 它给出的错误 JSON数据这里是JSON数据格式的屏幕截图

  • 当我尝试解码json时,它会给我错误。 我的模范班 功能在我使用它的地方 json数据

  • 我对Flutter编程非常陌生,我正在尝试导入一个本地JSON文件,其中包含书籍数据,如标题、作者、发布年份等。 最初我使用JSON-to-DART转换器来组装一个图书数据模型,现在我正在尝试创建一个函数,在该函数中,程序获取本地JSON文件,并使用类中的方法将数据解析为地图。 我遇到的问题是返回类型