FutureBuilder,The getter;变量'是't为类型'对象'



我试图从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 '';
},
);

最新更新