Flutter和Dart - 分配后的Widget参数为空
Flutter and Dart - Widget parameter null after been assigned
我有一个小部件,我在 page.dart
上传递 JSON object
在 page.dart 我是(按顺序):
定义变量
正在调用 API 服务
将 API 响应 的状态设置为 incentivesOem
之后,我将呈现页面的其余部分 body 并调用我的小部件,然后将上述变量传递给该小部件。但是当returns到page.dart并且incentivesOem等于null
时,服务响应没有被捕获
首先——赋值变量 (✅)
List<IncentiveOem> incentivesOem;
IncentiveServiceOem incentiveServiceOem = new IncentiveServiceOem();
第二-调用服务(这里在服务中apireturns一个JSONbody✅)
incentiveServiceOem.getIncentivesOem(userRequestModel).then((incentives) {
setState(() {
incentivesOem = incentives;
isLoaded = true;
});
});
第三 - 使用列表中的 incentivesOem 变量
我调用小部件IncentivesListOem(**incentivesOem**);
但是当页面加载我的 **incentivesOem** = **null**
IncentivesListOem(incentivesOem: incentivesOem)
问题最终出在我是如何通过小部件访问数据的。
class IncentivesListOem extends StatefulWidget {
@override
State<IncentivesListOem> createState() => _IncentivesListOemState();
// Over here I needed to add "this.incentivesOem"
IncentivesListOem({Key key, @required this.incentivesOem}) : super(key: key);
final IncentiveOem incentivesOem;
}
这是因为你已经定义了变量incentivesOem
但没有初始化,如下初始化变量,
List<IncentiveOem> incentivesOem = [];
所以问题出在我的小部件上。
class IncentivesListOem extends StatefulWidget {
@override
State<IncentivesListOem> createState() => _IncentivesListOemState();
// Over here I needed to add "this.incentivesOem"
IncentivesListOem({Key key, @required this.incentivesOem}) : super(key: key);
final IncentiveOem incentivesOem;
}
然后我可以在我的变量之前使用小部件访问变量,
widget.incentivesOem
然后我就可以像这样输出变量了:
title: Text(
"${incentivesOem.name}",
),
我有一个小部件,我在 page.dart
上传递 JSON object在 page.dart 我是(按顺序):
定义变量
正在调用 API 服务
将 API 响应 的状态设置为 incentivesOem
之后,我将呈现页面的其余部分 body 并调用我的小部件,然后将上述变量传递给该小部件。但是当returns到page.dart并且incentivesOem等于null
时,服务响应没有被捕获首先——赋值变量 (✅)
List<IncentiveOem> incentivesOem;
IncentiveServiceOem incentiveServiceOem = new IncentiveServiceOem();
第二-调用服务(这里在服务中apireturns一个JSONbody✅)
incentiveServiceOem.getIncentivesOem(userRequestModel).then((incentives) {
setState(() {
incentivesOem = incentives;
isLoaded = true;
});
});
第三 - 使用列表中的 incentivesOem 变量
我调用小部件IncentivesListOem(**incentivesOem**);
但是当页面加载我的 **incentivesOem** = **null**
IncentivesListOem(incentivesOem: incentivesOem)
问题最终出在我是如何通过小部件访问数据的。
class IncentivesListOem extends StatefulWidget {
@override
State<IncentivesListOem> createState() => _IncentivesListOemState();
// Over here I needed to add "this.incentivesOem"
IncentivesListOem({Key key, @required this.incentivesOem}) : super(key: key);
final IncentiveOem incentivesOem;
}
这是因为你已经定义了变量incentivesOem
但没有初始化,如下初始化变量,
List<IncentiveOem> incentivesOem = [];
所以问题出在我的小部件上。
class IncentivesListOem extends StatefulWidget {
@override
State<IncentivesListOem> createState() => _IncentivesListOemState();
// Over here I needed to add "this.incentivesOem"
IncentivesListOem({Key key, @required this.incentivesOem}) : super(key: key);
final IncentiveOem incentivesOem;
}
然后我可以在我的变量之前使用小部件访问变量,
widget.incentivesOem
然后我就可以像这样输出变量了:
title: Text(
"${incentivesOem.name}",
),