我有一个小部件,它需要一个代表允许在屏幕上显示的页面的数字。
如果设备较弱,则可以传递覆盖初始值的 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;
}

有没有办法在构造函数设置最终值之前/之前断言语句?

最佳答案

如果要使用初始化列表中的参数,则该参数不能是初始化参数,而需要在初始化列表中进行初始化:

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

  final int pagesToDisplay;
  final bool limitPages;
}

关于constructor - 使用构造函数参数来评估彼此依赖的最终值。 flutter/Dart ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54981261/

10-13 03:39