Необработанное исключение: тип «Строка» не является подтипом типа «Дата-время» в приведенном типе

#flutter

#трепетать

Вопрос:

я новичок в flutter, я хочу получить данные из моментального снимка и загрузить на экран, но получил это исключение, как я могу это исправить извините за мой плохой английский

транзакция_db.dart

 class TransactionDB {  String dbName;  TransactionDB({required this.dbName});  //HERE I TRY TO LOAD DATA FROM LOCAL DB AND GET DATA FROM LISTlt;DYNAMICgt; IS THIS USABLE TO GET DATA AND TAKE IT TO SCREEN Futurelt;Listlt;dynamicgt;gt; 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 = lt;Transactionsgt;[]; //lt;lt;lt; 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)); //lt;lt;lt;lt;lt;EXCEPTION BY THIS  }  return transactionList;  } }  

транзакция_provider.dart

 class TransactionProvider with ChangeNotifier {   Listlt;dynamicgt; transactions = [];   void addTransaction(Transactions statement) async {  var db = TransactionDB(  dbName:  'transactions.db');     //select data to db  transactions = await db.loaddata();   notifyListeners();  } }   

транзакция.дротик

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

Ответ №1:

Ваша служба возвращает(вероятно) строковый тип (не тип даты-времени), поэтому Dart не может интерпретировать строку в дату-время. Для этого вместо date: record['date'] as DateTime использования date: DateTime.parse(record['date'] as String)