我想一步一步地学习颤振,我创建了UI,现在我想要创建假的防火墙,稍后我将实现真正的防火墙,我将使用cubit,然后进行集团。
我发现了这个错误,我不知道如何删除它:"AsyncSnapshot快照参数类型'Object?‘不能分配给参数类型’FirstListModel‘。“
这是我在尝试实现假防火墙之前的代码,就像我现在试图做的那样:
itemBuilder: (context, index) {
final oneElement = firstList[index];
return buildPlate(index,await oneElement);
},这个itemBuilder在"ReorderableListView“里面。现在,我更进一步,并试图实现我的fakeFirebase:
itemBuilder: (context, index) {
return FutureBuilder(
future: fakeFirebase.getElement(index.toString()),
builder: (context, snapshot) {
if (snapshot.hasData) {
return buildPlate(index, snapshot.data);
} else {
return const CircularProgressIndicator();
}
},
);
},在上面的代码中,我在"snapshot.data“中出现了错误
为了更好地理解,这是我来自fakeFirebase的功能:
@override
Future<FirstListModel> getElement(String? id) async {
FirstListModel error = FirstListModel(text: "error", id: "404");
if (id != null) {
return firstList[int.parse(id)];
}
return error;
}这就是我的模型:
class FirstListModel {
String text;
String id;
FirstListModel({
required this.text,
required this.id,
});
}这是我的“buildPlate”的开始:
Widget buildPlate(int index, FirstListModel oneElement) => ListTile(如果我需要张贴更多我的代码,可以自由地问,这是我自己的应用,只是李尔-颤栗。
"firstList“是一个模型列表,它包含将由用户添加的对象,模拟防火墙。
发布于 2022-02-07 15:54:28
定义未来构建器的类型参数,并使用snapshot.data运算符将!转换为非空
return FutureBuilder<FirstListModel>(
future: fakeFirebase.getElement(index.toString()),
builder: (context, snapshot) {
if (snapshot.hasData) {
return buildPlate(index, snapshot.data!);
} else {
return const CircularProgressIndicator();
}
},
);https://stackoverflow.com/questions/71021362
复制相似问题