问题描述
我在下面的飞镖项目中遇到了异常:
E/Flutter (17804): [ERROR:Flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: Instance of 'objectdbException'
我的模型课是:
import 'item.dart';
class User {
String id;
String name;
String mobile;
String imageUrl;
String address;
List<Item> items;
DateTime createdAt;
User({
this.id,this.name,this.mobile,this.imageUrl,this.address,this.items,this.createdAt,});
Map<String,dynamic> toJson() {
final Map<String,dynamic> data = new Map<String,dynamic>();
final List<Map<String,dynamic>> subData = [];
data['id'] = this.id;
data['name'] = this.name;
data['mobile'] = this.mobile;
data['imageUrl'] = this.imageUrl;
data['address'] = this.address;
this.items.forEach((element) {
subData.add(element.toJson());
});
data['items'] = subData;
data['createdAt'] = this.createdAt;
//data['createdAt'] = this.createdAt;
return data;
}
}
当我从类中删除DateTime createdAt成员时,它工作正常。然后将其存储到db并检索就可以了。但是添加完之后,我得到了上面的异常。
从数据库端检索逻辑是:
User _getUserFromMap(Map<dynamic,dynamic> val) {
List<Item> items = [];
if (val['items'] != null) {
print('Items Type: ${val['items'].runtimeType.toString()}');
print('Items: ${val['items']}');
print('Items lenth: ${val['items'].length}');
items = List.generate(
val['items'].length,(index) => _getItemFromMap(val['items'][index]));
}
print('Use date: ${val['createdAt']}');
User user = User(
id: val['id'],name: val['name'],mobile: val['mobile'],address: val['address'],imageUrl: val['imageUrl'],items: items,createdAt: DateTime.Now(),);
return user;
}
任何帮助表示赞赏。 谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)