无法访问字段初始值设定项中的"this"以读取"辅助"



你好,我是flutter的初学者,我遇到了一个以前从未遇到过的奇怪错误:无法访问字段初始值设定项中的"this"来读取"assistance"。无法访问字段初始值设定项中的"this"以读取"goals"。

以下是我尝试过的:

class Statss extends StatefulWidget {


@override
_StatssState createState() => _StatssState();
}
class _StatssState extends State<Statss> {
List<AssistsJson> topassists = [];
List<GoalsJson> topgoals = [];
List<GoalsJson> teams = [];
String assister;
String assists;
String goals;
String scorer;

Future<void>  getScorers() async {
http.Response response = await http.get(
'https://v3.football.api-sports.io/players/topscorers?league=39&season=2020',
headers: {'x-rapidapi-key': ApiKey.key,
'x-rapidapi-host':'v3.football.api-sports.io'});
String body = response.body;
var data = jsonDecode(body);
List<dynamic> clubList = data['response'];
setState(() {
topgoals = clubList
.map((dynamic item) => GoalsJson.fromJson(item))
.toList();
goals = topassists[0].statistics[0].goals.total.toString();
});
}
Future<void>  getAssisters() async {
http.Response response = await http.get(
'https://v3.football.api-sports.io/players/topassists?league=39&season=2020',
headers: {'x-rapidapi-key': ApiKey.key,
'x-rapidapi-host':'v3.football.api-sports.io'});
String body = response.body;
var data = jsonDecode(body);
List<dynamic> clubList = data['response'];
setState(() {
topassists = clubList
.map((dynamic item) => AssistsJson.fromJson(item))
.toList();
assists = topassists[0].statistics[0].goals.assists.toString();
});
}
@override
void initState() {
super.initState();
getScorers();
getAssisters();
}



List<String> images = [
"Assets/tt.jpg",
"Assets/qatarairways.jpg",
"Assets/LOGO_Danao.jpg",
"Assets/delice.jpg"
];
List<String> menu = [
"Assets/tt.jpg",
"Assets/qatarairways.jpg",
"Assets/LOGO_Danao.jpg",
"Assets/delice.jpg"
];
List<String> choices = [
"Top Scorer: ",
"Top Assister: ",
"Asset: ",
"Ass: "
];
List<String> mchoices = [
"Goals: ",
"Assists: ",
"Goals: ",
"Ass: "
];
List<String> data = [
goals,
assists,
"Goals: ",
"Ass: "
];
..........................................................................

我正在努力了解发生了什么,并找到这个问题的解决方案

将分配逻辑移动到初始

List<String> data = [ ];
@override
void initState() {
super.initState();
getScorers();
getAssisters();
data = [
goals,
assists,
"Goals: ",
"Ass: "
];
}

最新更新