未处理的异常:类型 'String' 不是类型转换中类型 'DateTime' 的子类型



im在颤振中是新的我想从快照中获取数据并加载到屏幕,但遇到了这个异常,我该如何修复它抱歉我的英语不好

transaction_db.art

class TransactionDB {
String dbName;
TransactionDB({required this.dbName});
//HERE I TRY TO LOAD DATA FROM LOCAL DB AND GET DATA FROM LIST<DYNAMIC> IS THIS USABLE TO GET DATA AND TAKE IT TO SCREEN
Future<List<dynamic>> loaddata() async {
var db = await opendb();
var store = intMapStoreFactory.store('expense');
//find = select find return list snapshot
var snapshot = await store.find(db);
List transactionList = <Transactions>[]; //<<< IS THIS BE LIKE COPY STRUCTOR?
for (var record in snapshot) {
transactionList.add(Transactions(
title: record['title'] as String,
subtitle: record['subtitle'] as String,
date: record['date'] as DateTime)); //<<<<<EXCEPTION BY THIS
}
return transactionList;
}
}

transaction_provider.dart

class TransactionProvider with ChangeNotifier {
List<dynamic> transactions = [];
void addTransaction(Transactions statement) async {
var db = TransactionDB(
dbName:
'transactions.db'); 

//select data to db
transactions = await db.loaddata();
notifyListeners();
}
}

transaction.dart

class Transactions {
String title ;
String? subtitle ;
DateTime date ;
Transactions({required this.title,required this.subtitle,required this.date});
}

您的服务(可能(返回了一个String类型(而不是DateTime类型(,因此Dart无法将String解释为DateTime。为此,使用date: DateTime.parse(record['date'] as String)而不是date: record['date'] as DateTime

最新更新