Используйте аргументы конструктора для оценки окончательных значений в зависимости друг от друга.Флаттер / Дартс - PullRequest
0 голосов
/ 04 марта 2019

У меня есть виджет, который принимает число, представляющее страницы, разрешенные для отображения на экране.Если устройство слабое, может быть передано bool, которое переопределяет начальное значение.Однако, поскольку все значения являются окончательными, я должен оценить его в конструкторе до того, как значение будет установлено.

class _A extends StatefullWidget{

  _A(this.limitPages, 
    this.pagesToDisplay: limitPages ? 10 : pagesToDisplay,
  )

  final int pagesToDisplay;
  final bool limitPages;
}

Я мог бы объявить его в списке инициализатора, но тогда я не могу передать аргумент для pagesToDisplay.

class _A extends StatefullWidget{
  _A(this.limitPages)
    :this.pagesToDisplay: limitPages ? 10 : pagesToDisplay

  final int pagesToDisplay;
  final bool limitPages;
}

Есть ли способ утверждать оператор в / до того, как конструктор установит окончательное значение?

1 Ответ

0 голосов
/ 04 марта 2019

Если вы хотите использовать параметр в списке инициализатора, параметр не может быть параметром инициализации, и вам нужно вместо этого выполнить инициализацию в списке инициализатора:

class _A {
  _A(bool limitPages, int pagesToDisplay)
      : limitPages = limitPages,
        pagesToDisplay = limitPages ? 10 : pagesToDisplay;

  final int pagesToDisplay;
  final bool limitPages;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...