参数类型 'Map<dynamic, dynamic>' 不能分配给参数类型 'Map<String, dynamic>'

时间:2021-06-12 17:48:18

标签: flutter sqlite

我正在使用带有 sqlite 的 flutter。 'maps[i]' 中发生错误

Future<List<Employee>> getEmployee() async {
    var dbClient = await db;
    List<Map> maps = await dbClient!.query('employee', columns: ['id', 'name','phone']);
    List<Employee> employees = [];
    if (maps.length > 0) {
      for (int i = 0; i < maps.length; i++) {
        employees.add(Employee.fromMap(maps[i]));
      }
    }
    return employees;
  }

1 个答案:

答案 0 :(得分:0)

这是因为 Employee.fromMap 期望 Map<String, dynamic> 按如下方式更改您的功能。

   Future<List<Employee>> getEmployee() async {
        var dbClient = await db;
        List<Map> maps = await dbClient!.query('employee', columns: ['id', 'name','phone']);
        List<Employee> employees = [];
        if (maps.length > 0) {
          for (int i = 0; i < maps.length; i++) {
            employees.add(Employee.fromMap(Map<String, dynamic>.from(maps[i])));
          }
        }
        return employees;
      }