我做了一个类通知以初始化我的数据,但是当我在将来的函数中调用它时,它显示了一个错误。
Future <List<Notification>> _getNotification() async {
var data = await http.get("$baseUrl/efficience001_webservice/notification.php");
var jsonData = json.decode(data.body);
List<Notification> notifs = [];
for (var u in jsonData){
Notification notif = Notification(u["description"],u["nom_ligne"], u["created_at"]);
notifs.add(notif);
}
print(notifs.length);
return notifs;
}
class Notification {
final String description;
final String nom_ligne;
final DateTime created_at;
const Notification({this.description, this.nom_ligne, this.created_at});
}
error: Too many positional arguments , 0 expected, but 3 found.
答案 0 :(得分:1)
这里的问题是您在Notification
类中使用named parameters,但是传递了位置参数。
您有两种解决方法:
Notification
类中的构造函数更改为:const Notification(this.description, this.nom_ligne, this.created_at);
Notification
类的对象时,请提供命名参数。为此,请在您的for
循环中更改一行:Notification notif =
Notification(description: u["description"], nom_ligne: u["nom_ligne"], created_at: u["created_at"]);