我试图从Future对象中获取值,但vsc总是说
The getter 'wetter' isn't defined for the type 'Object'.
Try importing the library that defines 'wetter', correcting the name to the name of an existing getter, or defining a getter or field named 'wetter'.dartundefined_getter
这是我的代码,错误出现在
grad=snapshot.data!。湿润
void refreshWeather() {
final Future<Wetter> wetter = Wetterapi.fetchWetter();
FutureBuilder(
future: wetter,
builder: (context, snapshot) {
if (snapshot.hasData) {
grad = snapshot.data!.wetter;
}
throw '';
});
}
潮湿的班级看起来像这个
class Wetter {
final String wetter;
final double temperatur;
final String wind;
Wetter({
required this.wetter,
required this.temperatur,
required this.wind,
});
factory Wetter.fromJson(Map<String, dynamic> json) {
return Wetter(
wetter: json['weather.main'],
temperatur: json['main.temp'],
wind: json['wind.speed'],
);
}
String get gewetter {
return wetter;
}
}
我是不是错过了什么?
定义FutureBuilder
:的类型参数
// vvvvvvvv
FutureBuilder<Wetter>(
future: wetter,
builder: (context, snapshot) {
if (snapshot.hasData) {
grad = snapshot.data!.wetter;
}
throw '';
},
);