如果在我的模型中我已经声明了我想为模型中的某些字段收集一个List,我如何继续得到错误List<String> is not a subtype of String
?
下面是我的数据模型的代码:
class DataModel{
String ID;
List<String> name;
List<String> type;
List<String> images;
DataModel({
required this.ID,
required this.name,
required this.type,
required this.images,
});
factory DataModel.fromJson(Map<String, dynamic> json) {
return DataModel(
ID: json['ID'] ?? '' ,
name: json['name'] ?? '' ,
type: List<String>.from(json['type']??[]) ,
images: List<String>.from(json['images']??[]) ,
);
}
Map<String, Object> toJsonAdd() => {
"ID":ID,
"name": name,
"images": images,
"type": type,
};
}
字符串
现在,下面是我使用模型将数据传递给db的地方:
List<String> nameList =[];
List<String> typeList =[];
List<String> imageList =[];
add(DataModel dataModel) async {
await ref.read(dataProvider).addData(dataModel).then((success) {});
}
DataModel dataModel = dataModel(
ID: '',
name: nameList.toList(),
mealTypes: filteredMealTypes.toList(),
priceOfType: filteredPriceMealType.toList(),
);
add(menuModel);
型
1条答案
按热度按时间x759pob21#
我认为你的
database
不能存储List
的String
或任何类型的List
,这就是为什么它不断产生相同的错误。尝试将
list
转换为String
并将其存储在database
中。你可以使用类似
dart:convert
的东西,它有类似jsonEncode
的方法,并将字符串列表传递给它,它会将其转换为字符串。同样,在检索数据时,您可以再次使用jsonDecode将字符串列表转换为dart列表类型。