dart 参数类型“UserModel”不能分配给参数类型“Iterable< UserData>”

aiazj4mn  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(130)

这是mycode.请解决这个问题

import 'dart:convert' as convert;
import 'dart:convert';

import 'package:http/http.dart' as http;

import 'package:http/http.dart';
import 'package:internetconnectivityusingbloc/repos/user_model.dart';

class UserRepositories {
  Future<void> getUsers() async {
    List<UserData>? userData = [];
    String urlEndPoint = "https://reqres.in/api/users?page=2";

    // Await the http get response, then decode the json-formatted response.
    Response response = await http.get(Uri.parse(urlEndPoint));
    if (response.statusCode == 200) {
      userData = [];
      // final List result = jsonDecode(response.body);
      return userData.addAll(UserModel.fromjson(response.body));
    } else {
      throw Exception(response.reasonPhrase);
      // print('Request failed with status: ${response.statusCode}.');
    }
  }
}

i am trying to solve this problem .but i am failed.so i expecting u are solve this problem

bqucvtff

bqucvtff1#

在addAll中添加[]

return userData.addAll([UserModel.fromjson(response.body)]);

如果您只添加一个模型,最好只使用add方法。
然而,如果你试图将UserModel类型添加到UserData的列表中,并且如果UserModel不是UserData的子类型,那么可能会抛出另一个错误。因此,如果你希望填充变量userData,那么你应该使用UserData.fromjson(response.body)来填充新数据,所以你应该调整UserData参数来获取response.body将带来的数据。

相关问题