Объекты DateTime, не работающие с функцией collection-if в Dart - PullRequest
0 голосов
/ 17 февраля 2020

Я использую функцию Dart Collection-if , представленную в Dart 2.3 . Мой класс модели -

class Calendar {
  Calendar(
      {this.headerDate, this.releaseDate, this.period,this.title});

  final DateTime headerDate;
  final DateTime releaseDate;
  final String title;
  final String period;

  factory Calendar.fromMap(Map<String, dynamic> value) {
    final int releaseDateMilliseconds = value['releaseDate'];
    final int headerDateMilliseconds= value['headerDate'];
    return Calendar(
      releaseDate: DateTime.fromMillisecondsSinceEpoch(releaseDateMilliseconds),
      headerDate: DateTime.fromMillisecondsSinceEpoch(headerDateMilliseconds),
      title: value['title'],
      period: value['period'],
    );
  }
}

Эта функция отлично работает, когда я имею дело с Strings , но не работает, когда я проверяю нулевое значение для объектов DateTime. Даты хранятся как числа в пожарном депо и преобразуются в объекты DateTime. Вот мой метод сборки:

 @override
  Widget build(BuildContext context) {
    return Column(children: [
      if(calendar.title!=null) /// Works
      Text(calendar.title),
      if(calendar.period!=null) ///Works
      Text(calendar.period),
      if(calendar.headerDate!=null) /// Doesn't work
      Text(Format.date(calendar.headerDate)),
      Text(Format.date(calendar.releaseDate)),
    ]);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...