无法在初始化程序中访问实例成员 'noww'

The instance member 'noww' can't be accessed in an initializer

我的应用程序中有这个日期选择器,我希望最后一个日期是从使用该应用程序开始算起的 3 年前 我该如何解决它,我试图给出最后一个日期 now.year - 3 但是没用!它一直告诉我“无法在初始化程序中访问实例成员 'noww'。”

  var noww = DateTime.now();
  DateTime selectedDate = DateTime(noww.year - 3);
showDatePicker(
        context: context,
        initialDate: selectedDate, // Refer step 1
        firstDate: DateTime(now.year - 10),
        lastDate: DateTime(now.year + 1),

现在像这样声明变量

var noww;

但在那之后,运行 initState() 中的其余代码,像这样

@override
void initState(){
  super.initState();
  noww = DateTime.now();
  DateTime selectedDate = DateTime(noww.year - 3);
  showDatePicker(
    context: context,
    initialDate: selectedDate, // Refer step 1
    firstDate: DateTime(now.year - 10),
    lastDate: DateTime(now.year + 1),
  );
}

@override
Widget build(context){
  ...
}

这是因为您不能在函数之外使用初始化程序。