#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)