Flutter 类型为'的值;Rx<;未来<;列表<;第SDBSTAT节>&燃气轮机*&燃气轮机*';can';t不能分配给类型为的变量
我正在学习颤振和GetX。 我有一个模型:Flutter 类型为'的值;Rx<;未来<;列表<;第SDBSTAT节>&燃气轮机*&燃气轮机*';can';t不能分配给类型为的变量,flutter,dart,flutter-getx,Flutter,Dart,Flutter Getx,我正在学习颤振和GetX。 我有一个模型: class SectionsDBStat { int notificationsTotalCount; int notificationsWaitingForProcessing; DateTime notificationsLastArchiveDate; SectionsDBStat({ required this.notificationsTotalCount, required this.notificati
class SectionsDBStat {
int notificationsTotalCount;
int notificationsWaitingForProcessing;
DateTime notificationsLastArchiveDate;
SectionsDBStat({
required this.notificationsTotalCount,
required this.notificationsWaitingForProcessing,
required this.notificationsLastArchiveDate
});
factory SectionsDBStat.fromJson(Map<String, dynamic> json) {
return SectionsDBStat(
notificationsTotalCount: json['notificationsTotalCount'],
notificationsWaitingForProcessing: json['notificationsWaitingForProcessing'],
notificationsLastArchiveDate: DateTime.parse(json['notificationsLastArchiveDate'])
);
}
}
我不知道您为什么要使用Future,这里您试图将
Rx
分配给sectionsDBStat
,这是不可能的
更换这条线
SectionsDBStat SectionsDBStat=Future.value().obs;
用这个
final sectionsDBStat=sectionsDBStat().obs;
然后像这样分配它
sectionsDBStat.value=sectionsDBStat.fromJson(valueMap);
感谢您的回复,欢迎来到SO!但是我在SectionsDBStat().obs上出错了代码>因为它的构造函数需要数据。请尝试此final sectionsDBStat=Rx(null)代码>
class SectionsStatController extends GetxController {
SectionsDBStat sectionsDBStat = Future.value(<SectionsDBStat>).obs;
getStat() async {
var value = await http.get('${url}/stat?total');
if(value.statusCode == 200) {
Map<String, dynamic> valueMap = jsonDecode(value.body)['data'];
sectionsDBStat = SectionsDBStat.fromJson(valueMap);
update();
} else {
print("Can't get stat: ${value.statusCode}");
}
}
}
A value of type 'Rx<Future<List<SectionsDBStat>>*>*' can't be assigned to a variable of type 'SectionsDBStat'.
'sectionsDBStat' can't be used as a setter because it's final.